提问人:Cranjis 提问时间:3/28/2023 最后编辑:Cranjis 更新时间:3/28/2023 访问量:44
pandas 遍历多个 DataFrame,并为每个键创建出现列表
pandas iterate over many dataframe and create list of occurance per key
问:
我有几百个具有相同结构的数据帧。 我想按如下方式聚合每个键: 对于列表列 - 创建列表列表(其中每个列表是特定数据帧的值) 例如,在 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的
答:
0赞
jezrael
3/28/2023
#1
编辑:数据帧列表的解决方案 - 使用 concat
和 aggregate: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]
评论
0赞
Cranjis
3/28/2023
请看编辑,我有很多数据帧
0赞
jezrael
3/28/2023
@Cranjis - 每个 DataFrame 的 s 是唯一的吗?key
1赞
Cranjis
3/28/2023
所有数据帧都具有完全相同的形状,每个数据帧有 8 列和 199 行 - 这是 Key 的 199 个唯一值
评论