Python Pandas Vlookup

标签 python excel pandas

我正在尝试使用Python中Excel的Vlookup函数合并两个Excel文件。

根据我的代码,结果将是:

col1_x | col2_x | col3_x | col4_y | col5_y | col6_y 
   1        2        3       4        5        6
   7        8        9       10       11       12

我的代码:

df1 = pd.read_excel("dropped_file.xlsx")
df2 = pd.read_excel("original.xlsx")

result = pd.merge(df1, df2, on = ['col1', 'col3', 'col4'], how='left')
result.to_excel("result.xlsx", index=False)

有人有办法去掉列名后面的 _x 和 _y 吗?

最佳答案

_x_y 的原因是合并后列名重复。因此,为了避免 col1col1col2col2 列添加 _x_y 因此输出为 col1_xcol1_ycol2_xcol2_y

如果需要删除 _x, _y 但输出将是重复的列,请使用 Series.str.replace :

df.columns = df.columns.str.replace('_x|_y','', regex=True)
print (df)
   col1  col2  col3  col4  col5  col6
0     1     2     3     4     5     6
1     7     8     9    10    11    12

关于Python Pandas Vlookup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66899678/

相关文章:

excel - 从 Outlook 电子邮件主题中提取部分内容,然后在 Excel 电子表格中找到它

c# - 使用下面行而不是上面行的格式插入 Excel 行

python - 计算 pandas df 的滚动窗口内的重复行

python - Pandas 内存错误

python - 将基于空行的文件部分反转为拆分

python - 在c或python中计算组合

python 2 : ValueError: invalid literal for int() with base 10: '20.0'

python - 在 Python 3 中格式化数字显示

excel - 如何使用VBA自动化多个Office应用程序?

python - Pandas 获取元素直到值发生变化