如何从熊猫的同一列中创建一个行值数组?
Posted
技术标签:
【中文标题】如何从熊猫的同一列中创建一个行值数组?【英文标题】:How to make an array of row values from same column in pandas? 【发布时间】:2022-01-18 21:51:42 【问题描述】:在这里,我有下表,其中包含 3 列 S.No、Test 和 Key。我想以数组的形式将列“Key”中的那些行连接起来,其中列“Test”的值与表 2 中的值相同(结果表)。 表一:
S.No Test Key
1 AB X1
2 AB X2
3 12 X1
4 34 X4
5 AB X3
6 12 X5
7 11 X2
8 12 X6
9 QW X0
表 2(结果):
S.No Test Key
1 AB [X1,X2,X3]
2 12 [X1,X5,X6]
3 34 [X4]
4 11 [X2]
5 QW [X0]
有人可以帮助我如何做到这一点。现在我刚刚收到重复的条目。谢谢。
【问题讨论】:
df.groupby('Test',as_index=False).agg('Key':list)
?
【参考方案1】:
使用groupby
Test
列创建Key
列表
new_df = df.groupby('Test', sort=False)['Key'].apply(list).to_frame()
new_df.reset_index(inplace=True)
new_df.index = np.arange(1,len(new_df)+1)
new_df['S.No'] = new_df.index
new_df = new_df[df.columns]
输出:
S.No Test Key 1 1 AB [X1, X2, X3] 2 2 12 [X1, X5, X6] 3 3 34 [X4] 4 4 11 [X2] 5 5 QW [X0]
【讨论】:
以上是关于如何从熊猫的同一列中创建一个行值数组?的主要内容,如果未能解决你的问题,请参考以下文章