![](/img/trans.png)
[英]Python - How to count the frequency of each unique key from a column containing a dictionary of dictionaries?
[英]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.