gpt4 book ai didi

python - 在 Pandas groupby 操作之后将两列组合成一个集合

转载 作者:行者123 更新时间:2023-11-28 22:09:04 24 4
gpt4 key购买 nike

假设我有一个数据框

         Date   A   B
0 2019-05-02 12 23
1 2019-05-02 23 13
2 2019-05-02 12 13
3 2019-05-03 12 13

如果我想按日期分组并在 A 列上应用集合,我可以按以下方式完成

A_df = test_df.groupby(['Date'])['A'].apply(set)

给出结果

Date
2019-05-02 {12, 23}
2019-05-03 {12}

同样,我可以为B做。

B_df = test_df.groupby(['Date'])['B'].apply(set)

给出结果。

Date
2019-05-02 {13, 23}
2019-05-03 {13}

我如何创建一个集是从 A 列和 B 列的内容创建的?可以将所需的输出视为上述输出的并集。

Date
2019-05-02 {12, 13, 23}
2019-05-03 {12, 13}

最佳答案

您可以 stack()然后执行 groupby():

df.set_index('Date').stack().reset_index(0,name='AB').groupby('Date')['AB'].apply(set)
#Alternate sol with itertools
#df.groupby('Date').apply(lambda x: set(itertools.chain.from_iterable(x[['A','B']].values)))

 Date
2019-05-02 {12, 13, 23}
2019-05-03 {12, 13}
Name: AB, dtype: object

关于python - 在 Pandas groupby 操作之后将两列组合成一个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57868138/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com