Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫';merge返回一个列,该列的名称后面附加了x_Python_Pandas - Fatal编程技术网

Python 熊猫';merge返回一个列,该列的名称后面附加了x

Python 熊猫';merge返回一个列,该列的名称后面附加了x,python,pandas,Python,Pandas,我需要数据帧,df1有A,B,C,D列。。。df2有A列,B列,E列,F列 我想要合并的键在A列中。B在两个数据帧中也(很可能)相同。虽然这是一个大数据集,但我正在进行清理,因此我还没有对所有内容都有一个非常好的概述 我知道 结果包含一个名为B_x的列。由于数据集又大又乱,我没有尝试研究B_x与df1中的B和df2中的B有何不同 因此,我的问题只是一般性的:Pandas将x附加到合并数据帧中的列名后意味着什么 谢谢对于合并操作中未涉及的列名中的任何冲突,将添加后缀,请参见 因此,在您的情况下,如

我需要数据帧,df1有A,B,C,D列。。。df2有A列,B列,E列,F列

我想要合并的键在A列中。B在两个数据帧中也(很可能)相同。虽然这是一个大数据集,但我正在进行清理,因此我还没有对所有内容都有一个非常好的概述

我知道

结果包含一个名为B_x的列。由于数据集又大又乱,我没有尝试研究B_x与df1中的B和df2中的B有何不同

因此,我的问题只是一般性的:Pandas将x附加到合并数据帧中的列名后意味着什么


谢谢

对于合并操作中未涉及的列名中的任何冲突,将添加后缀,请参见

因此,在您的情况下,如果您认为它们是相同的,您可以对两列进行合并:

pd.merge(df1, df2, on=['A', 'B'])
不过,这将只返回两个数据帧中都存在
A
B
的值,因为默认的合并类型是
内部
合并

因此,您可以将此合并的df大小与第一个df大小进行比较,看看它们是否相同,如果相同,您可以对两列进行合并,或者只删除/重命名
\ux
/
\uy
后缀
B

我会花时间确定这些值是否确实相同,是否存在于两个数据帧中,在这种情况下,您可能希望执行
outer
合并:

pd.merge(df1, df2, on=['A', 'B'], how='outer')
然后,您可以做的是删除重复的行(可能还有任何
NaN
行),这将为您提供一个干净的合并数据帧

merged_df.drop_duplicates(cols=['A', 'B'],inplace=True)
有关详细信息,请参阅联机文档

merged_df.drop_duplicates(cols=['A', 'B'],inplace=True)