Pandas:按类别过滤数据框
Posted
技术标签:
【中文标题】Pandas:按类别过滤数据框【英文标题】:Pandas: filter data frame by category 【发布时间】:2019-03-25 13:09:11 【问题描述】:我有一个如下数据集:
X, Y
yes, 1
No, 2
Yes, 3
Yes, 4
No, 2
No, 1
Yes, 0
No, 4
No, 4
No, 5
我想从中得到以下输出:
X: Yes, No
y: [1, 3, 4, 0], [2, 2, 1, 4, 4, 5]
如何使用 Python 实现?
编辑:我是熊猫库的新手,是我的数据科学项目的一部分。我如何使用熊猫字典来实现这一点。有人可以用我提供的数据集举例吗?
【问题讨论】:
到目前为止你有什么尝试? Convert a Pandas DataFrame to a dictionary的可能重复 @Roul,它可以通过带有列表理解的 pandasgroupby
来实现,请参阅下面的答案..
@Roul,很高兴它对你有用 :) 学习愉快
@cryptonome:如果您没有时间正确阅读问题或懒得回答。请不要降级它。我的问题与已经回答的帖子完全不同。
【参考方案1】:
您可以使用带有列表理解的 pandas groupby
方法,该方法将执行如下所示的工作:
>>> df
X Y
0 Yes 1
1 No 2
2 Yes 3
3 Yes 4
4 No 2
5 No 1
6 Yes 0
7 No 4
8 No 4
9 No 5
>>> k: v["Y"].tolist() for k,v in df.groupby("X")
'No': [2, 2, 1, 4, 4, 5], 'Yes': [1, 3, 4, 0]
【讨论】:
以上是关于Pandas:按类别过滤数据框的主要内容,如果未能解决你的问题,请参考以下文章