Pandas Python 计算一列包含数字列表的次数

假设数据框看起来像这样。


.  Value

0  86248

1  55265

2  52654

3  55568

4  56985

5  56855

6  79623

7  56648

    ...

我想计算数字[0,1,2,3...,100000]在列中出现的次数Value,然后将结果制成表格。


.  Value 

0  86248    df.loc[df.Value == 0, 'Value'].count()

1  55265    df.loc[df.Value == 1, 'Value'].count()

2  52654    df.loc[df.Value == 2, 'Value'].count()

3  55568    df.loc[df.Value == 3, 'Value'].count()

4  56985    df.loc[df.Value == 4, 'Value'].count()

5  56855    df.loc[df.Value == 5, 'Value'].count()

6  79623    df.loc[df.Value == 6, 'Value'].count()

7  56648    df.loc[df.Value == 7, 'Value'].count()

    ...                       ....

            df.loc[df.Value ==100 000, 'Value'].count()


预期产出


.   Value      Counts          

0     2          0        #Count 0

1     5          0        #Count 1

2     9          1        #Count 2

3     8          2        #Count 3

4     3          0        #Count 4

5     3          1        #Count 5

6     7          0        #Count 6

7     6          1        #Count 7


呼啦一阵风
浏览 106回答 2
2回答

喵喔喔

Series.value_counts()您可以与调用一起使用来.reindex快速解决此问题。创建样本数据:df = pd.DataFrame({    "Value": [10, 8, 1, 2, 3, 10, 10, 10, 1, 1]})print(df)   Value0     101      82      13      24      35     106     107     108      19      1创建一个 value_range,它是我想要计数的最小/最大值。在本例中,我想查看 0-10 之间的数字在“值”列中出现了多少次。然后,我们用于df["Value"].value_counts()获取该列中每个值出现的次数。最后,我们使用reindex(value_range, fill_value=0)重新排序我们的输出,value_counts()以包含最初不在“值”列中的数字(例如 4、5、6、7、9),如果是这种情况,它将用 0 填充这些不存在的数字(因为它们在我们原来的专栏中出现过 0 次)value_range = range(0, 11) out = df["Value"].value_counts().reindex(value_range, fill_value=0)print(out)0     01     32     13     14     05     06     07     08     19     010    4Name: Value, dtype: int64

慕标琳琳

我假设你的要求是:对于 [0,1,2....100000] 中的每个 num,计算 num 在“值”列中出现的次数。例如结果: 0:出现 x 次 1:出现 x 次 ....counts_dict = dictfor i in [1,2,.....,100000]:    #how many rows have this value?    count = len(df[df.value==i])    #add this to a dictionary    counts_dict.update({i:count})您现在拥有 [1,2,.....,100000] 中每个值以及它们出现的次数的字典。为了简单起见,您可以将其视为数据框:s = pd.Series(counts_dict, name='counts')其中 s 的索引是您的商品,值是计数
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python