微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pandas 的concat操作

pd.concat(objs, axis=0, join='outer', ignore_index=False, keys=None,levels=None, names=None, verify_integrity=False, copy=True)
frame = [f1, df2, df3]
df = pd.concat(frame, keys=['x', 'y', 'z'])
keys是把连接的df命名以便于能快手找到连接的df名称: 比如你可以这样获取df2
df.loc['y']
还可以传递一个字典等于keys
pieces = {'x': df1, 'y': df2, 'z': df3}
df = pd.concat(pieces, sort=False)
要是这是取z, y可以这样做
df = pd.concat(pieces, keys=['z', 'y'])
df.index.levels
如果要合并多个文件使用列表
pd.concat([pd.read_excel(f) for f in files])
还可以进行选择按照那个轴进行连接
df = pd.concat([df1, df3], axis=1, sort=False)
还可以进行join选择是什么样的连接
df = pd.concat([df1, df2], join="inner")
假如只想用原始数据中的索引可以这样做
df = pd.concat([df1, df2], sort=False, axis=1).reindex(df1.index)
等同于
df = pd.concat([df1, df2.reindex(df1.index)], sort=False, axis=1)
还有一个方法等同于concat 中的axis=0这个方法是append我是用于循环的时候
df = df1.append(df2)
df = df1.append(df2, sort=False)
append也可以接受多个df
df = df1.append([df1, df2])   # 要用列表括起来
ignore_index 是忽略索引, 之后pandas会自动帮助你建一个索引
df = pd.concat(df1, ignore_index=True, sort=False)
df = df1.append(df1, sort=False, ignore_index=False)

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐