【问题标题】:Pandas: filter data frame by categoryPandas:按类别过滤数据框
【发布时间】: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 实现?

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

【问题讨论】:

  • 到目前为止你有什么尝试?
  • @Roul,它可以通过带有列表理解的 pandas groupby 来实现,请参阅下面的答案..
  • @Roul,很高兴它对你有用 :) 学习愉快
  • @cryptonome:如果您没有时间正确阅读问题或懒得回答。请不要降级它。我的问题与已经回答的帖子完全不同。

标签: python pandas dataframe


【解决方案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]}

【讨论】:

    猜你喜欢
    • 2021-11-15
    • 2018-09-29
    • 1970-01-01
    • 2023-02-16
    • 2021-11-15
    • 2020-02-28
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多