python - 列间计算
问题描述
我有一个有 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)
先感谢您 :) :) :)
解决方案
您可以定义一个返回系列的函数,该函数使用 apply() 添加您的两列。
def fcn(row):
return pd.Series([
row['Math']+row['Geo'],
row['Math']-row['Geo']
])
data[['Total','Difference']] = data.apply(fcn,axis=1)
推荐阅读
- mysql - SQL查找表中连续月份的用户数
- node.js - Expo 无法从 json-server node.js 获取数据
- html - 如何从菜单列表中删除子菜单边框
- ios - 斯威夫特:使用尝试?捕获超出范围的索引
- python - 如何在通过加载 Excel 文件创建 Pandas 数据框时删除页脚和页眉
- c# - 如何在 C# .NET Core 中将字节数组转换为 IFormFile?
- html - 我的标签不适用于模板中的 if 语句
- azure-blob-storage - 删除旧的 azure blob
- angular - 基于独特系列/名称的 Highchart 传奇
- javascript - 在角度中使用样式时找不到scss文件