2024-04-19 00:05:33 发布
网友
我有两个数据帧
df1型:
key column_a AA AAB AA AAC AB ABA AB ABK
df2型:
key column_b AA AAA AB ABA AB ABK AC ACC
我想合并它们,但是列a和列b将成为一个列表
key column_a column_b AA ['AAB','AAC'] ['AAA'] AB ['ABA','ABK'] ['ABA','ABK'] AC NaN ['ACC']
如果转换为列表,则会丢失使用连续内存块中的NumPy数组时附带的矢量化功能
具有^{}、^{}和聚合lambda函数的解决方案-删除NaN并创建list:
NaN
list
df = pd.concat([df1, df2]).groupby('key').agg(lambda x: x.dropna().tolist()) print (df) column_a column_b key AA [AAB, AAC] [AAA] AB [ABA, ABK] [ABA, ABK] AC [] [ACC]
最后一个如果需要替换空列表以使用^{}:
df = df.where(df.astype(bool)) print (df) column_a column_b key AA [AAB, AAC] [AAA] AB [ABA, ABK] [ABA, ABK] AC NaN [ACC]
如果转换为列表,则会丢失使用连续内存块中的NumPy数组时附带的矢量化功能
具有^{} 、^{} 和聚合lambda函数的解决方案-删除
NaN
并创建list
:最后一个如果需要替换空列表以使用^{} :
相关问题 更多 >
编程相关推荐