Python数据分析:pandas数据合并
pd.concat
-
沿指定轴方向将多个对象合并到一起
-
注意指定轴的方向,默认axis=0
# index 没有重复的情况 ser_obj1 = pd.Series(np.random.randint(0, 10, 5), index=range(0,5)) ser_obj2 = pd.Series(np.random.randint(0, 10, 4), index=range(5,9)) ser_obj3 = pd.Series(np.random.randint(0, 10, 3), index=range(9,12)) print(ser_obj1) print('-----------') print(ser_obj2) print('-----------') print(ser_obj3)
运行结果:
pd.concat([ser_obj1, ser_obj2, ser_obj3])
运行结果:
# 指定axis=1
pd.concat([ser_obj1, ser_obj2, ser_obj3], axis=1)
运行结果:
# index 有重复的情况
ser_obj1 = pd.Series(np.random.randint(0, 10, 5), index=range(5))
ser_obj2 = pd.Series(np.random.randint(0, 10, 4), index=range(4))
ser_obj3 = pd.Series(np.random.randint(0, 10, 3), index=range(3))
print(ser_obj1)
print('-----------')
print(ser_obj2)
print('-----------')
print(ser_obj3)
运行结果:
pd.concat([ser_obj1, ser_obj2, ser_obj3])
运行结果:
-
jion可指定合并方式,默认为outer
pd.concat([ser_obj1, ser_obj2, ser_obj3], axis=1, join='inner')
运行结果:
-
dataframe合并时同时查看行索引和列索引
df_obj1 = pd.DataFrame(np.random.randint(0, 10, (3, 2)), index=['a', 'b', 'c'], columns=['A', 'B']) df_obj2 = pd.DataFrame(np.random.randint(0, 10, (2, 2)), index=['a', 'b'], columns=['C', 'D']) print(df_obj1) print('-----------') print(df_obj2)
运行结果:
扫描二维码关注公众号,回复: 6096597 查看本文章
pd.concat([df_obj1, df_obj2])
运行结果:
pd.concat([df_obj1, df_obj2], axis=1)
运行结果: