簡體   English   中英

創建包含Excel列中每個唯一項計數的字典

[英]Create dictionary with count of each unique item from an excel column

我在Excel中有一列帶有標題。 該列中包含25-30個唯一值,總共28000行長。 我希望我的輸出是字典,其中鍵是列中的每個唯一項,值是其計數

df1 = pandas.read_excel(file,sheet)
Counter(df1) 

以上收益:

({"ColumnHeader":1})

然后我嘗試將整個內容轉換為列表

df2 = df1.values.tolist()

Counter(df2) 

以上返回此錯誤消息: TypeError: unhashable type: 'list'

這似乎是一個相當普遍的問題,但是我仍然無法將其分解..請在這里幫忙...

Counter以迭代方式對項目進行計數。 遍歷數據框時,將遍歷列名。 這就是為什么Counter僅返回計數為1的列名稱的原因。您需要對數據框的列中的項目進行計數,因此需要執行以下操作:

Counter(df2['ColumnHeader'])

還要注意,當您執行df1.values.tolist()它以列表列表的形式返回數據df1.values.tolist() 但是, Counter僅適用於可哈希類型。 列表不可散列。

不使用集合返回字典的另一種方法是

dict(df1["column_header"].value_counts())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM