PHP前端开发

如何使用 Pandas 在数据框中根据条件创建新列并实现列值累加?

百变鹏仔 5天前 #Python
文章标签 如何使用

条件创建新列,实现列值累加条件修改

为了在 pandas 数据框中根据特定条件创建新列,并实现列值的累加,可以采用如下方式:

使用 apply() 方法和 lambda 函数,根据给定条件设置新列的值。
使用 cumsum() 方法计算累加值。
使用 fillna(0) 填充 nan 值。
以下代码实现了上述要求:

import numpy as npimport pandas as pd# 创建数据框values = [[5.5, 2.5, 10.0], [2.0, 4.5, 1.0], [2.5, 5.2, 8.0], [4.5, 5.8, 4.8], [4.6, 6.3, 9.6],           [4.1, 6.4, 9.0], [5.1, 2.3, 11.1]]df = pd.dataframe(values, columns=['col1', 'col2', 'col3'], index=['a', 'b', 'c', 'd', 'e', 'f', 'g'])# 根据条件创建新列df['col4'] = pd.series(np.where((df['col1'] > 3) & (df['col1'] < 5), 1, np.nan), index=df.index).cumsum().fillna(0)# 显示修改后的数据print(df)

输出:

   col1  col2  col3  col40   5.5   2.5  10.0   01   2.0   4.5   1.0   02   2.5   5.2   8.0   03   4.5   5.8   4.8   14   4.6   6.3   9.6   25   4.1   6.4   9.0   36   5.1   2.3  11.1   0