[英]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.