列名已自动更改

时间:2017-04-25 12:58:28

标签: python pandas dataframe

我尝试合并两个数据帧是我的代码:

我如何加载数据:

import pandas as pd 
df_population = pd.read_csv("C:/Users/Satgiaire 
05/Downloads/population_commune.csv",encoding = 'iso-8859-1') 

我如何合并数据

df_merged2 = pd.merge(df_population, df_merged, left_on=['CODGEO'],
right_on=['Code_commune_INSEE'],how='inner')

它成功但是CODGEO列的名称已经改变,并知道我有CODGEO_X。我在两个数据框中都有CODGEO,我想只有CODGEO WITHOUT X

结果:enter image description here

1 个答案:

答案 0 :(得分:1)

您看到的名称更改由pandas.DataFrame.merge中的suffixes= kwarg定义。如果存在未用于合并的同名列,则仅使用此选项。例如:

df1 = pd.DataFrame({'a': [1,2,3], 'b': [4,5,6]})
df2 = pd.DataFrame({'a': [1,2,3], 'c': [4,5,6]})
pd.merge(df1, df2, left_on=['b'], right_on=['c'])
   a_x  b  a_y  c
0    1  4    1  4
1    2  5    2  5
2    3  6    3  6

鉴于:

df1 = pd.DataFrame({'a': [1,2,3], 'b': [4,5,6]})
df2 = pd.DataFrame({'a': [1,2,3], 'c': [4,5,6]})
pd.merge(df1.drop('a', axis=1), df2, left_on=['b'], right_on=['c'])
   b  a  c
0  4  1  4
1  5  2  5
2  6  3  6

因此,您需要识别您知道的重复项,这些列是您在合并过程中未使用的重复项,并将其从您的某个DataFrame中删除。