【问题标题】:Use info from two DataFrame, differents lines, to merge in one使用来自两个 DataFrame、不同行的信息合并为一个
【发布时间】:2021-07-30 01:09:38
【问题描述】:

我有两个 Pandas DataFrame。

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

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

  • file_1 file_5 value1 value2

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

  • file_1 paramA paramB
  • file_5 paramX paramY

我需要类似的东西:

  • file_1 file_5 value1 value2 paramA paramB paramX paramY

(它从“第一个数据帧”开始,并为该行中的两个 (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))

【问题讨论】:

  • 您能否编辑您的问题并将输入/预期的数据以文本形式(不是图像)放在那里,以便我们可以复制粘贴它?
  • 建议将数据添加为文本,而不是图像。我们无法从图像中复制内容。
  • 完成,抱歉。我尝试使用“表格”格式,但是在提交消息之前可以(图片是截图),提交后就不行了。我已经改变了以文本形式呈现它的方式

标签: python pandas dataframe merge concatenation


【解决方案1】:

df1 和 df2 是两个 pandas 数据帧。

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

【讨论】:

    猜你喜欢
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 2021-06-08
    • 2020-05-03
    • 1970-01-01
    相关资源
    最近更新 更多