亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas Python 計算一列包含數字列表的次數

Pandas Python 計算一列包含數字列表的次數

呼啦一陣風 2023-12-09 15:48:37
假設數據框看起來像這樣。.  Value0  862481  552652  526543  555684  569855  568556  796237  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 01     5          0        #Count 12     9          1        #Count 23     8          2        #Count 34     3          0        #Count 45     3          1        #Count 56     7          0        #Count 67     6          1        #Count 7
查看完整描述

2 回答

?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

Series.value_counts()您可以與調用一起使用來.reindex快速解決此問題。


創建樣本數據:


df = pd.DataFrame({

    "Value": [10, 8, 1, 2, 3, 10, 10, 10, 1, 1]

})


print(df)

   Value

0     10

1      8

2      1

3      2

4      3

5     10

6     10

7     10

8      1

9      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     0

1     3

2     1

3     1

4     0

5     0

6     0

7     0

8     1

9     0

10    4

Name: Value, dtype: int64


查看完整回答
反對 回復 2023-12-09
?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

我假設你的要求是:


對于 [0,1,2....100000] 中的每個 num,計算 num 在“值”列中出現的次數。


例如結果: 0:出現 x 次 1:出現 x 次 ....


counts_dict = dict


for 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 的索引是您的商品,值是計數


查看完整回答
反對 回復 2023-12-09
  • 2 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號