首页 > 解决方案 > 使用来自两个 DataFrame、不同行的信息合并为一个

问题描述

我有两个 Pandas DataFrame。

我想从每行文件中的文件、值和参数中获取一个新的 DataFrame。

“第一个数据帧”中的行如下:

“第二个数据框”中的行如下:

我需要类似的东西:

(它从“第一个数据帧”开始,并为该行中的两个(file_1 file_5)连接来自“第二个数据帧”的参数)而这个,对于来自“第一个数据帧”的每一行

我找到了一个使用循环的解决方案。它非常(构建一个连接的行,并将其逐行附加到一个新的 DataFrame 中

是否有一些特殊功能可以组合以便在不循环的情况下执行它?

我的缓慢解决方案

for row in range(fist.shape[0]):
    file_1 = fist['file_1'][row]
    file_2 = fist['file_2'][row]
    df0 = fist.iloc[row]
    df1 = second.loc[second['FILE']==file_1,"paramA":"paramZ"]
    df2 = second.loc[second['FILE']==file_2,"paramA":"paramZ"]
    df1 = df1.add_suffix('_1')
    df2 = df2.add_suffix('_2')
    output.append(pd.concat([df0, df1, df2],axis=1))

标签: pythonpandasdataframemergeconcatenation

解决方案


df1 和 df2 是两个 pandas 数据框。

result = pd.concat([df1, df4], axis=1)

推荐阅读