对熊猫中相同行的列表理解[重复]
Posted
技术标签:
【中文标题】对熊猫中相同行的列表理解[重复]【英文标题】:List comprehension over the same rows in pandas [duplicate] 【发布时间】:2019-02-18 15:30:39 【问题描述】:我想知道是否有一种巧妙的方法可以在存在相同行的情况下“折叠”熊猫数据框。例如:
df =
col_a col_b
a 1
b 2
b 3
c 4
d 5
d 6
d 7
我需要的是:
df_new =
col_a col_b
a 1
b [2, 3]
c 4
d [5, 6, 7]
绝对应该包括groupby
df_new = df.groupby('col_a').apply(....)
但如何有效地实现括号中的位,我很困惑。
【问题讨论】:
df.groupby('col_a').col_b.apply(list)
应该可以工作。我敢肯定这个问题是一个重复
确实如此。谢谢。我应该删除问题吗?
【参考方案1】:
您可以将list
申请为col_b
:
df.groupby('col_a')['col_b'].apply(list)
col_a
a [1]
b [2, 3]
c [4]
d [5, 6, 7]
Name: col_b, dtype: object
【讨论】:
天啊,我从来没有觉得这么傻:)【参考方案2】:s = df.groupby('col_a')['col_b'].apply(list)
df['col_c'] = df['col_a'].map(s)
print(df)
col_a col_b col_c
0 a 1 [1]
1 b 2 [2, 3]
2 b 3 [2, 3]
3 c 4 [4]
4 d 5 [5, 6, 7]
5 d 6 [5, 6, 7]
6 d 7 [5, 6, 7]
【讨论】:
以上是关于对熊猫中相同行的列表理解[重复]的主要内容,如果未能解决你的问题,请参考以下文章