python - Python Panda Dataframe 计算列表中的特定值
问题描述
假设我有一个清单:
mylist = ['a','b','c']
和一个 Pandas 数据框 (df),它有一个名为“rating”的列。如何在迭代我的列表时获得评分出现次数的计数?例如,这是我需要的:
for item in myList
# Do a bunch of stuff in here that takes a long time
# want to do print statement below to show progress
# print df['rating'].value_counts().a <- I can do this,
# but want to use variable 'item'
# print df['rating'].value_counts().item <- Or something like this
我知道我可以计算所有不同的“评级”值,但这不是我所追求的。
解决方案
与其将这个问题视为“从列表到数据框”之一,不如将其翻转过来:
mylist = ['a','b','c']
df = pd.DataFrame({'rating':['a','a','b','c','c','c','d','e','f']})
ValueCounts = df['rating'].value_counts()
ValueCounts[ValueCounts.index.isin(mylist)]
输出:
c 3
a 2
b 1
Name: rating, dtype: int64
推荐阅读
- npm - package.json 文件在错误的文件夹中创建
- c - recv() 没有被 libevent 触发
- reactjs - _rete.createEditor 不是函数,我的代码哪里有问题?
- java - 如何使用 java 从 oracle blob 中检索 zip 文件?
- python - 没有与您的参数匹配的方法,可用 [] python pyjnius
- kubernetes - 在 kubernetes 上运行的 traefik AWS ELB 上的真实 IP
- javascript - 如何发送复选框的值?
- powerbi - 高亮散点图 Power bi
- ios - Swift UI 在协议中使用视图(协议“视图”只能用作通用约束,因为它具有 Self 或关联的类型要求)
- php - 如何向来自特定广告系列的访问者隐藏 AdSense 广告?