在带有条件的pandas中使用value_counts

时间:2016-07-13 07:27:13

标签: pandas

我有一个大约有20k值的列。我在pandas中使用了以下功能来显示它们的计数。

weather_data["snowfall"].value_counts()

weather_data是数据框,snowfall是列。

我的结果是:

0.0     12683
M       7224
T       311
0.2     32
0.1     31
0.5     20
0.3     18
1.0     14
0.4     13

有没有办法

  1. 仅显示单个变量或数字的计数

  2. 使用if条件仅显示满足条件的那些值的计数?

1 个答案:

答案 0 :(得分:1)

如果没有像piRSquared建议您提供的完整示例,我会尽可能清楚。

value_counts'输出为Series,因此可以从value_counts'索引中检索原始文件Series中的值。仅显示其中一个变量的结果就是切换系列:

my_value_count = weather_data["snowfall"].value_counts()
my_value_count.loc['0.0']
output: 
0.0     12683

如果您只想显示变量列表:

my_value_count.loc[my_value_count.index.isin(['0.0','0.2','0.1'])]
output: 
0.0     12683
0.2     32
0.1     31

由于您的值中包含MT,我怀疑其他值将被视为字符串而不是浮点数。否则你可以使用:

my_value_count.loc[my_value_count.index < 0.4]
output:
0.0     12683
0.2     32
0.1     31
0.3     18