如何在pandas中创建新的计算列并删除原始列?

2024-05-19 00:41:10 发布

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

我有一个pandas数据帧'df',它有:

name a b
greg 1 1
george 2 2
giles 3 3
giovanni 4 5

我想通过一个calculate函数运行这个dataframe来创建新的列:c和d,这样我就得到了下面的结果dataframe:

^{pr2}$

目前,我的代码如下:

我的calcluate函数:

def calculate(row):
   return row['a']+10, row['b']+20

我修改数据帧的功能:

df['c'] = df.apply(calculate, axis=1)

我得到的结果是:

name a b c
greg 1 1 (11, 21)
george 2 2(12, 22)
giles 3 3 (13, 23)
giovanni 4 4 (14, 24)

如何使数据帧看起来像:

^{pr2}$

Tags: 数据函数代码namedataframepandasdfrow
1条回答
网友
1楼 · 发布于 2024-05-19 00:41:10

行迭代非常慢。你最好做以下事情:

df['c'] = df.a + 10
df['d'] = df.b + 20
df.drop(['a', 'b'], axis='columns', inplace=True)

但是,要实现您的方法,您需要执行以下操作:

^{pr2}$

相关问题 更多 >

    热门问题