【问题标题】: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}) ?

标签: python pandas dataframe duplicates


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

【讨论】:

    猜你喜欢
    • 2017-08-26
    • 2021-09-29
    • 1970-01-01
    • 2022-09-24
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    • 2015-03-28
    相关资源
    最近更新 更多