【发布时间】:2018-07-09 21:30:55
【问题描述】:
我正在尝试遍历数据框并获得此处描述的解决方案 Old Post。不知何故,我正在寻找更具体的东西,我刚刚意识到。循环应该计算结果并将每个日期的输出写入 csv 文件,其中 csv 文件包含日期作为文件名,文件中应该是日期和结果。我更喜欢使用循环并扩展代码。
import pandas as pd
def calc_funct(x):
func = x^2
return func
def calc_funct2(y):
func = y^3
return func
if __name__ == '__main__':
df = pd.read_csv('C:/Data.csv')
for index, row in df.iterrows():
result = []
result = (calc_funct(row['x']))
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
为了使它更容易理解,我包含了一个手工制作的示例,我想让它更加自动化,因为我在数据框中获取所有数据,并且只是从中获取正确的数据,这取决于日期并扩展它让它更清楚。也许我的解释太糟糕了,并试图找出一种更容易理解的方式:
for loop date 1 (2017-11-11):
result = []
for loop through values for the dedictaed date (Note every result is an own object at the end):
result = OwnObject(calc_funct(x),calc_funct2(y/100))
store results in a csv file with the date given (2017-11-11)
Loop date 2 (2017-11-12):
result = OwnObject(calc_funct(x),calc_funct2(y/100))
store results in a csv file with the date given (2017-11-12)
等等等等……
OwnObject 暂时没那么重要
【问题讨论】:
-
“我更喜欢使用循环并只是扩展代码。”为什么?如果您首先使用 pandas,您是否不喜欢矢量化方法(球场,快 100 倍)并在之后使用
to_csv? -
@roganjosh,为什么我更喜欢循环是因为我有更多的功能可以提供,并且只是根据日期从我的数据框中获取提取物。速度不是问题
标签: python pandas loops date dataframe