【发布时间】:2018-07-09 05:28:48
【问题描述】:
我正在尝试遍历数据框。特别是通过日期列,这意味着对于每个日期,我都会获取该日期的 x、y 和 z 值并将其填充到我定义的函数中。不知何故,我不确定如何正确调用它。我的代码如下所示:
import pandas as pd
def calc_funct(x, y, z):
func = x*y*z
return func
if __name__ == '__main__':
df = pd.read_csv('C:/Data.csv')
for column in df:
results = calc_funct(df['x'], df['y'], df['z'])
print(result)
输入如下所示:
date x y z
0 2017-11-11 18 17 7
1 2017-11-11 16 19 3
2 2017-11-11 13 14 2
3 2017-11-11 12 13 1
4 2017-11-11 11 12 9
5 2017-11-11 10 11 10
6 2017-11-11 21 10 11
7 2017-11-12 13 19 12
8 2017-11-13 18 17 12
9 2017-11-14 9 10 20
10 2017-11-15 2 20 13
11 2017-11-18 13 13 9
12 2017-11-19 18 14 16
13 2017-11-20 14 11 19
14 2017-11-21 18 15 19
对于日期 2017-11-11,我将计算值(例如,在该日期添加/减去它们的所有值)并将其存储,例如在一个列表中。然后迭代下一个日期 2017-11-12 等...
【问题讨论】:
-
您的预期输出是什么?您是否想要一个新列,该列给出 DataFrame 每一行的 x、y 和 z 相乘结果?
-
@Ben,非常感谢您的回答。我的输出应该只是每个日期的打印语句,它应该打印根据定义的函数计算的结果。
标签: python pandas loops dataframe