相当于 pandas .append() 方法,它允许方法链接

问题描述 投票:0回答:1

现在

append()
在 pandas 2.0 中已被贬值,那么允许方法链接的
append()
的简短替代方案是什么? pandas 的 “2.0.0 中的新功能” 部分说:

删除了已弃用的

Series.append()
DataFrame.append()
,使用
concat()
相反 (GH 35407)

我正在寻找一些简单的东西,如下面的示例所示,只添加一行,但它需要是可以包含在方法链中的东西。

import pandas as pd

df = pd.DataFrame([
    [4, 5, 6],
    [7, 8, 9],
    [1, 6, 4]])

df.loc[len(df)] = [10, 20, 30]
python pandas method-chaining
1个回答
0
投票

既然你想使用方法链,请使用

pipe
concat
:

out = df.pipe(lambda d: pd.concat(
        [d, pd.DataFrame([[10, 20, 30]],
                         columns=df.columns)],
        ignore_index=True)
             )

输出:

    0   1   2
0   4   5   6
1   7   8   9
2   1   6   4
0  10  20  30

请注意,添加新行的成本很高,因为这会创建一个全新的 DataFrame。如果您执行一次或两次就可以了,但不要循环执行,否则对于大型数据集来说这会非常慢。

© www.soinside.com 2019 - 2024. All rights reserved.