首页 > 解决方案 > 列间计算

问题描述

我有一个有 4 列的数据框

data = pd.DataFrame(columns=['Math', 'Geo', 'Total', 'Difference'])

谁能告诉我如何编写这个函数____

data['Total'] = data['Math'] + data['Geo']
data['Difference'] = data['Math'] - data['Geo']
print(data)

以这种方式_____

row = {"Total": data['Math']+data['Geo'], "Difference": data['Math'] - data['Geo']}
print(data)

我知道这是错误的方式,因为我遇到了这样的错误____

Series([], dtype: object)

先感谢您 :) :) :)

标签: pythonpython-3.xpandasdataframe

解决方案


您可以定义一个返回系列的函数,该函数使用 apply() 添加您的两列。

def fcn(row):
    return pd.Series([
    row['Math']+row['Geo'], 
    row['Math']-row['Geo']
    ])
    
data[['Total','Difference']] = data.apply(fcn,axis=1)

推荐阅读