在python/pandas中用重叠的数据行合并数据帧

2024-05-19 18:18:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个大的数据帧需要行合并。这两个数据帧可能有一些重叠的行。在

示例:

data1
    key name               patent
    11  Alphagrep          112344
    12  Citrix             112345

data2
    Sr  name               patents
    11  Alphagrep          112344
    13  Taj                112322

我想将这些数据帧按行合并到[Key,Sr]&;patent,patents]

即:如果row-data1[key]==row-data2[Sr]&row-data1[patent]==row-data2[patents],则合并或追加。在

结果应为:

^{pr2}$

在熊猫身上应该怎么做?在


Tags: 数据keyname示例rowampsrtaj
2条回答

你可以这样做:

print data1, '\n', '\n', data2, '\n'
data2.columns = data1.columns.tolist()
data3 = pd.concat([data1, data2]).drop_duplicates()
print data3

输出:

^{pr2}$

set_index和{}

c1 = ['key', 'patent']
c2 = ['Sr', 'patents']

data1.set_index(c1) \
    .combine_first(
        data2.set_index(c2).rename_axis(c1)
    ).reset_index()

   key  patent       name
0   11  112344  Alphagrep
1   12  112345     Citrix
2   13  112322        Taj

相关问题 更多 >