簡體   English   中英

如何查找頻率表鍵列是否包含列表中的所有值

[英]How to find if a frequency table key column contains all values from a list

我有一個數據框,我正在為一列進行頻率表計數。 我想搜索表中的key列是否包含此列表中的所有值ls = ['Agree', 'Disagree', 'Neutral', 'N/A'] ,如果列key缺少列表中的某些值,我想將缺失值添加到列中並將其count為 0。在計算頻率表時可以執行該操作嗎?

例如,我已經在這里使用value_counts計算了我的頻率表並將其轉換為數據框。

# df
key        count
Agree       22
Disagree    30
Neutral     12

預期 output

key        count
Agree       22
Disagree    30
Neutral     12
N/A          0

謝謝你。

key列的第一個值轉換為分類,因此如果默認情況下缺少鍵,則會在Series.values之后添加計數為0的新行:

ls = ['Agree', 'Disagree', 'Neutral', 'N/A'] 

df['key'] = pd.Categorical(df['key'], categories=ls)
#if need order like values in list
#df['key'] = pd.Categorical(df['key'], categories=ls, ordered=True)

df1 = df['key'].value_counts().rename_axis('key').reset_index(name='count')

您可以使用列表reindex生成的Series

ls = ['Agree', 'Disagree', 'Neutral', 'N/A']
df['key'].value_counts().reindex(ls, fill_value=0)

暫無
暫無

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

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