将列作为副本添加到Pandas数据框

2024-05-23 13:52:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为original的pandas数据框,我想向它添加一个新列,并将结果数据框保存在一个名为modified的变量中。我该怎么做?

import pandas as pd
import numpy as np
original = pd.DataFrame(np.random.randn(5, 2), columns=['a', 'b'])

类似问题的解决方法如下:

original['c'] = original['b'].abs()

这对我不起作用,因为它修改了原始数据帧。一个可能的解决方案是使用join,但这不允许我命名它,也不允许用标量值填充它:

modified = original.join(original['b'].abs(),rsuffix='_abs')

其目的是能够在没有临时变量的单行中添加列,以实现以下效果:

modified = original.some_op() \
    .a_different_op() \
    .add_a_column() \ # <- the step I can't figure out
    .another_op() \
    .final_op()

Tags: 数据importnumpydataframepandasasnprandom