python小点dian儿:使用merge还是join

合并():要注意使用merge还是join

#merge是因为两个合并的对象,有相同的列,merge以这些相同的列为索引进行合并。按照索引合并,就会出现两个sorce,不可以join

#join实现按索引合并,而不管他们有么有相同的列.同时可以指定on ="keyname',则把两个df 按照索引链接,并将原索引为新的“keyname”列,重新设置0,1,2..的索引

#join此处不可以,ValueError: columns overlap but no suffix specified: Index(['sorce'], dtype='object')

#merge是因为两个合并的对象,有相同的列,merge以这些相同的列为索引进行合并。

df_new= pd.merge(df,df_dummies3)

print(df_new)

print(df_new.columns)

----------------

data1 key sorce data1_a data1_b data1_c key_blue key_green key_red

0 a green 33 1.0 0.0 0.0 0.0 1.0 0.0

1 b red 61 0.0 1.0 0.0 0.0 0.0 1.0

2 c blue 99 0.0 0.0 1.0 1.0 0.0 0.0

Index(['data1', 'key', 'sorce', 'data1_a', 'data1_b', 'data1_c', 'key_blue',

'key_green', 'key_red'],

dtype='object')

----------------------

#merge此处不可以, 两个没有相同的列。pandas.tools.merge.MergeError: No common columns to perform merge on

#join实现按索引合并,而不管他们有么有相同的列.同时可以指定on ="keyname',则把两个df 按照索引链接,并将原索引为新的“keyname”列,重新设置0,1,2..的索引

df_new= df.join(df_dummies6)

print(df_new)

print(df_new.columns)

-------------------

data1 key sorce sorce_不及格 sorce_及格 sorce_优秀

0 a green 33 1.0 0.0 0.0

1 b red 61 0.0 1.0 0.0

2 c blue 99 0.0 0.0 1.0

Index(['data1', 'key', 'sorce', 'sorce_不及格', 'sorce_及格', 'sorce_优秀'], dtype='object')

python小点dian儿:使用merge还是join

脱颖而出的人群和不同的概念,向上与粉红色的气球出从飞其他绿色的人在与反射和阴影的浅绿色背景上的一个人

相关推荐