介绍Python中的DataFrame数据、合并merge()和concat()
我是本际云服务器推荐网的小编小本本,今天给大家介绍关于Python的DataFrame数据、合并merge()和concat()这些内容。

merge()
1.常规合并
①方法1:指定一个参照列,以该列为准,合并其他列。
import pandas as pd
df1=pd.DataFrame({'id':['001','002','003'],
'num1':[120,101,104],
'num2':[110,102,121],
'num3':[105,120,113]})
df2=pd.DataFrame({'id':['001','002','003'],
'num4':[80,86,79]})
print(df1)
print("=======================================")
print(df2)
print("=======================================")
df_merge=pd.merge(df1,df2,on='id')
print(df_merge)
②方法2:要实现该合并,也可以通过索引来合并,即以index列为基准。将left_index和right_index都设置为True即可。(left_index和right_index都默认为False,left_index表示左表以左表数据的index为基准,right_index表示右表以右表数据的index为基准。)
import pandas as pd
df1=pd.DataFrame({'id':['001','002','003'],
'num1':[120,101,104],
'num2':[110,102,121],
'num3':[105,120,113]})
df2=pd.DataFrame({'id':['001','002','003'],
'num4':[80,86,79]})
print(df1)
print("=======================================")
print(df2)
print("=======================================")
df_merge=pd.merge(df1,df2,left_index=True,right_index=True)
print(df_merge)
相比方法①,区别在于合并出的数据中有重复列。
重要参数:
pd.merge(right,how=’inner’,on=”None”,left_on=”None”,right_on=”None”,left_index=False,right_index=False)
其中,left_index与right_index不能与on同时指定。
合并方式:left、right、outer、inner。
2.多对一合并
import pandas as pd
df1=pd.DataFrame({'id':['001','002','003'],
'num1':[120,101,104],
'num2':[110,102,121],
'num3':[105,120,113]})
df2=pd.DataFrame({'id':['001','001','003'],
'num4':[80,86,79]})
print(df1)
print("=======================================")
print(df2)
print("=======================================")
df_merge=pd.merge(df1,df2,on='id')
print(df_merge)
3.多对多合并
import pandas as pd
df1=pd.DataFrame({'id':['001','002','002','002','003'],
'num1':[120,101,104,114,123],
'num2':[110,102,121,113,126],
'num3':[105,120,113,124,128]})
df2=pd.DataFrame({'id':['001','001','002','003','001'],
'num4':[80,86,79,88,93]})
print(df1)
print("=======================================")
print(df2)
print("=======================================")
df_merge=pd.merge(df1,df2,on='id')
print(df_merge)
concat()
1.相同字段的表首位相连
import pandas as pd
df1=pd.DataFrame({'id':['001','002','003'],
'num1':[120,114,123],
'num2':[110,102,121],
'num3':[113,124,128]})
df2=pd.DataFrame({'id':['004','005'],
'num1':[120,101],
'num2':[113,126],
'num3':[105,128]})
df3=pd.DataFrame({'id':['007','008','009'],
'num1':[120,101,125],
'num2':[113,126,163],
'num3':[105,128,114]})
print(df1)
print("=======================================")
print(df2)
print("=======================================")
print(df3)
dfs=[df1,df2,df3]
result=pd.concat(dfs)
print(result)
2.横向表合并(行对齐)
import pandas as pd
df1=pd.DataFrame({'num1':[120,114原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/7186.html
