看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
df.append 可以将其他行附加到调用方的末尾,并返回一个新对象。它是最简单常用的数据合并方式。
弃用警告
从 1.4.0 版本开始,抛出弃用警告,pandas 2.0 开始 DataFrame.append 和 Series.append 已经删除这个方法。可以用 pd.concat() 方法替代。
df.append(self, other, ignore_index=False,
verify_integrity=False, sort=False)
其中:
将同结构的数据追加在原数据后边:
result = df1.append(df2)
不同结构的追加,没有的列会增加,没有对应内容的会为空:
result = df1.append(df4, sort=False)
可以将多个 df 追加到原数据中:
result = df1.append([df2, df3])
在合并不保留原索引,启用新的自然索引:
result = df1.append(df4, ignore_index=True, sort=False)
s2 = pd.Series(['X0', 'X1', 'X2', 'X3'],
index=['A', 'B', 'C', 'D'])
result = df1.append(s2, ignore_index=True)
dicts = [{'A': 1, 'B': 2, 'C': 3, 'X': 4},
{'A': 5, 'B': 6, 'C': 7, 'Y': 8}]
result = df1.append(dicts, ignore_index=True, sort=False)
在 pandas 1.4 版本中宣布 append() 方法将被弃用,同时在这个版本中会进行警告,提示使用 pandas.concat()。
社区讨论废弃 append() 的主要原因为:
替代的操作也可以是:
df.loc[len(df) + 1] = <new row>
df.loc[<new label>] = <new row>
如果想用链式,可以用 pipe() 调用:
df2 = pd.DataFrame({"name": ["tomato"], "image": ["🍅"]})
(
fruits.merge(veggies)
.pipe(lambda df: pd.concat([df, df2], ignore_index=True))
)
更新时间:2024-04-09 09:04:21 标签:pandas 追加 合并