pd1*_*123 3 python group-by pandas jupyter-notebook
我需要计算列表的值出现在另一个DataFrame的列中的次数。
我尝试使用df['Column'].value_counts()。但是,如果值在列表中但不在列中,则它不会显示在结果中。
df = pd.DataFrame({'Column': [HIGH, HIGH, HIGH, LOW, LOW, LOW, LOW]})
list = ['HIGH', 'MEDIUM', 'LOW']
Run Code Online (Sandbox Code Playgroud)
我希望输出为:
HIGH 3
MEDIUM 0
LOW 4
Run Code Online (Sandbox Code Playgroud)
但是使用.value_counts()我得到:
HIGH 3
LOW 4
Run Code Online (Sandbox Code Playgroud)
有人可以指出我如何实现这一目标吗?是否可以编写一段代码,以便无论数据如何分配,我的输出始终显示HIGH,MEDIUM和LOW的计数?(下次加载数据时,可能没有HIGH值,而不是MEDIUM)
快速修复 reindex
df.Column.value_counts().reindex(list,fill_value=0)
HIGH 3
MEDIUM 0
LOW 4
Name: Column, dtype: int64
Run Code Online (Sandbox Code Playgroud)
其它的办法 pd.Categorical
pd.Categorical(df.Column,list).value_counts()
HIGH 3
MEDIUM 0
LOW 4
dtype: int64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
575 次 |
| 最近记录: |