如何按值合并两个熊猫数据框?

时间:2021-03-18 08:38:57

标签: python pandas dataframe merge concatenation

我有两个文本文件,我将它们读作熊猫数据帧。

df1:

  Streetname  energy_consumption
0    Street1                 NaN
1    Street2                 NaN
2    Street3                 NaN
3    Street4                 NaN
4    Street5                 NaN

和df2:

  Streetname   energy_consumption
0    Street2                   42
1    Street4                  886
2    Street5                    7
3    Street7                   32
4    Street9                  456

我想检查 df2 中的街道名称是否也存在于 df1 中,如果存在则合并或附加它。输出应如下所示:

  Streetname  energy_consumption
0    Street1                 NaN
1    Street2                 42
2    Street3                 NaN
3    Street4                 886
4    Street5                 7

我让它像这样工作:

import pandas as pd

streetname = r"C:\Users\jonas\Desktop\streetname.txt"
street_energy = r"C:\Users\jonas\Desktop\street_energy.txt"

df1 = pd.read_csv(streetname)
df2 = pd.read_csv(street_energy)

df = df1.set_index('streetname').combine_first(df2.set_index('streetname')).reset_index()
print (df)

但在输出中,我不想要 df2 中不存在的 df1 值:

  streetname  energy_consumption
0    Street1                 NaN
1    Street2                42.0
2    Street3                 NaN
3    Street4               886.0
4    Street5                 7.0
5    Street7                32.0
6    Street9               456.0

在这种情况下,我如何摆脱 street7street9,因为它们不存在于 df1 中?

0 个答案:

没有答案