python - 使用数据框中 3 个预先存在的列中的 ```def``` 编写 python 函数;第 1 列和第 2 列作为输入 = 第 3 列作为输出
问题描述
我的数据框看起来像这样。3列。我要做的就是编写一个函数,当前两列是输入时,相应的第三列(GHG 强度)是输出。我希望能够输入任何属性名称和年份并获得相应的温室气体强度值。我不能过分强调这必须使用def
. 请帮忙!
Property Name Data Year \
467 GALLERY 37 2018
477 Navy Pier, Inc. 2016
1057 GALLERY 37 2015
1491 Navy Pier, Inc. 2015
1576 GALLERY 37 2016
2469 The Chicago Theatre 2016
3581 Navy Pier, Inc. 2014
4060 Ida Noyes Hall 2015
4231 Chicago Cultural Center 2015
4501 GALLERY 37 2017
5303 Harpo Studios 2015
5450 The Chicago Theatre 2015
5556 Chicago Cultural Center 2016
6275 MARTIN LUTHER KING COMMUNITY CENTER 2015
6409 MARTIN LUTHER KING COMMUNITY CENTER 2018
6665 Ida Noyes Hall 2017
7621 Ida Noyes Hall 2018
7668 MARTIN LUTHER KING COMMUNITY CENTER 2017
7792 The Chicago Theatre 2018
7819 Ida Noyes Hall 2016
8664 MARTIN LUTHER KING COMMUNITY CENTER 2016
8701 The Chicago Theatre 2017
9575 Chicago Cultural Center 2017
10066 Chicago Cultural Center 2018
GHG Intensity (kg CO2e/sq ft)
467 7.50
477 22.50
1057 8.30
1491 23.30
1576 7.40
2469 4.50
3581 17.68
4060 11.20
4231 13.70
4501 7.90
5303 18.70
5450 NaN
5556 10.30
6275 14.10
6409 12.70
6665 8.30
7621 8.40
7668 12.10
7792 4.40
7819 10.20
8664 12.90
8701 4.40
9575 9.30
10066 7.50
解决方案
这是一个示例,使用不同的数据框进行测试:
import pandas as pd
df = pd.DataFrame(data={'x': [3, 5], 'y': [4, 12]})
def func(df, arg1, arg2, arg3):
''' agr1 and arg2 are input columns; arg3 is output column.'''
df = df.copy()
df[arg3] = df[arg1] ** 2 + df[arg2] ** 2
return df
结果是:
print(func(df, 'x', 'y', 'z'))
x y z
0 3 4 25
1 5 12 169
推荐阅读
- java - 验证检查按钮不可用
- recursion - 如何从路由数组动态创建导航菜单 JSON
- android - 在 React Native 中通过 Unix 套接字发出 HTTP 请求
- tensorflow2.0 - 如何为我的张量流模型的特定层打印梯度值?
- python - 带有额外外部数据的变压器
- javascript - 试图期望一个函数被 Cypress 和 Sinon 调用
- python - 使用 Telethon 添加到电报聊天时的问题
- javascript - 我需要根据响应更改动态值
- ms-access - 满足条件后如何更新 MS Access 中的表单字段
- java - 根据 Android Studio 中的列表播放音乐