如何统计DataFrame中'Ground'列指定值'Devonport'的出现频次?
解决方法
你看不到'Devonport'的统计结果,是因为Jupyter Notebook默认会截断过长的输出内容,只显示首尾5条数据——而'Devonport'不在这10条里,所以你看不到它,但它确实存在于完整的统计结果中。
直接获取'Devonport'的出现频次
不用查看全部结果的话,用下面几种方法可以直接拿到目标数值:
方法1:借助value_counts的get方法
csv['Ground'].value_counts().get('Devonport', 0)
get方法会返回指定值的计数,如果目标值不存在就返回0,刚好适配你的场景。
方法2:筛选后统计行数
csv[csv['Ground'] == 'Devonport'].shape[0]
先筛选出所有Ground列等于'Devonport'的行,再用shape[0]获取行数,就是该值的出现次数。
方法3:结合groupby提取结果
csv.groupby('Ground').size().get('Devonport', 0)
逻辑和第一种方法一致,从groupby的统计结果里直接提取目标值的计数。
让Jupyter显示所有统计结果
如果想看到全部173个Ground值的统计数据,先修改pandas的显示设置:
import pandas as pd pd.set_option('display.max_rows', None)
之后再运行csv['Ground'].value_counts()或者csv.groupby('Ground').size(),就能看到完整的列表,包括'Devonport'的统计结果了。
内容的提问来源于stack exchange,提问作者Nathan Shull
相关产品推荐
相关产品推荐

