pandas 迭代许多数据框并创建每个键的出现列表

问题描述 投票:0回答:1

我有几百个具有相同结构的数据框。 我想按如下方式聚合每个键: 对于列表列 - 创建一个列表列表(其中每个列表都是特定数据框的值) 例如,如果有 2 个数据帧:

df1 =  
Key  C1.  C2. C3
 A  [1,2]  6   b
 B  [6,1]  9   c

df2 = 
Key  C1   C2   C3
 B  [5,8]  2    t
 A  [7,2]  3    z

df_agg =  
   Key      C1          C2        C3 
    A  [[1,2],[7,2]]   [6,3]    [b,z]  
    B  [[6,1],[5,8]]   [9,2]    [c,t]

请注意我有几百个:df1, df2, ... dfn

python pandas dataframe aggregate data-munging
1个回答
0
投票

编辑:DataFrame列表的解决方案-使用

concat
并聚合
list

dfs = [df1, df2]

df = pd.concat(dfs).groupby('Key', as_index=False).agg(list)
print (df)
  Key                C1      C2      C3
0   A  [[1, 2], [7, 2]]  [6, 3]  [b, z]
1   B  [[6, 1], [5, 8]]  [9, 2]  [c, t]
© www.soinside.com 2019 - 2024. All rights reserved.