Python 如何删除'_合并';合并中的列
我根据它的准确性对2个数据帧进行排序。因此,我首先将2个具有严格条件的df与Python 如何删除'_合并';合并中的列,python,pandas,dataframe,Python,Pandas,Dataframe,我根据它的准确性对2个数据帧进行排序。因此,我首先将2个具有严格条件的df与how='outer',indicator=True合并,然后将其保存到名为“perfect”的df中。稍后,我将left_only和right_only从_merge列提取到两个新的dfs。然后我用简单的条件将这两个df合并为'code>how='outer',indicator=True,并将新的df保存为'partial match'。但当我这样做的时候,我会感到很兴奋 ValueError:无法将现有列的名称用于
how='outer',indicator=True
合并,然后将其保存到名为“perfect”的df中。稍后,我将left_only和right_only
从_merge列提取到两个新的dfs。然后我用简单的条件将这两个df合并为'code>how='outer',indicator=True,并将新的df保存为'partial match'。但当我这样做的时候,我会感到很兴奋
ValueError:无法将现有列的名称用于指示符列
因为我再次使用了indicator=True
,但我需要该指标来应用不匹配的行(即,仅左行和仅右行),并将其用于更简单的条件
如何删除合并列?或者如何删除此值错误
它没有出现在df.columns中,因此我无法删除([''u merge')或删除df。
使用指示符的“string”而不是True
indicatorbool或str,如果为True,则默认为False,在输出中添加一列
名为“_merge”的数据帧,包含关于每行源的信息。
若为字符串,则将添加包含每行源信息的列
输出数据帧,列将被命名为字符串的值。
信息列是分类类型,值为
“left_only”用于合并键仅出现在“left”中的观测值
数据框,“仅限右”用于仅显示合并键的观测值
在“右”数据帧中,如果观察的合并键为
两者都有
然后第二次合并时,使用不同的“字符串”作为指示符
dfA = pd.DataFrame({'key':np.arange(0,10), 'dataA':np.arange(100,110)})
dfB = pd.DataFrame({'key':np.arange(5,15), 'dataB':np.arange(100,110)})
dfA.merge(dfB, on='key', indicator='Ind', how='outer')
输出:
key dataA dataB Ind
0 0 100.0 NaN left_only
1 1 101.0 NaN left_only
2 2 102.0 NaN left_only
3 3 103.0 NaN left_only
4 4 104.0 NaN left_only
5 5 105.0 100.0 both
6 6 106.0 101.0 both
7 7 107.0 102.0 both
8 8 108.0 103.0 both
9 9 109.0 104.0 both
10 10 NaN 105.0 right_only
11 11 NaN 106.0 right_only
12 12 NaN 107.0 right_only
13 13 NaN 108.0 right_only
14 14 NaN 109.0 right_only