熊猫:按类别过滤数据框

时间:2018-10-21 06:37:42

标签: python pandas dataframe

我的数据集如下:

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实现?

编辑:我是熊猫图书馆的新手,是我的数据科学项目的一部分。我如何使用熊猫字典来实现这一目标。有人可以举一个我提供的数据集为例吗?

1 个答案:

答案 0 :(得分:0)

您可以使用具有列表理解功能的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]}