【发布时间】:2019-11-20 11:38:48
【问题描述】:
我需要遍历我的 CSV 文件中的某些行,例如,第 231 行到第 252 行。然后我想将计算每一行得到的值相加,并将它们除以我遍历的行数.我该怎么做?
我是 pandas 的新手,因此非常感谢您对此的帮助。
我有一个来自 Yahoo Finance 的 CSV 文件,看起来像这样(它有更多行):
Date,Open,High,Low,Close,Adj Close,Volume
2019-06-06,31.500000,31.990000,30.809999,31.760000,31.760000,1257700
2019-06-07,27.440001,30.000000,25.120001,29.820000,29.820000,5235700
2019-06-10,32.160000,35.099998,31.780001,32.020000,32.020000,1961500
2019-06-11,31.379999,32.820000,28.910000,29.309999,29.309999,907900
2019-06-12,29.270000,29.950001,28.900000,29.559999,29.559999,536800
我已经完成了导入 pandas 和所有这些的基本步骤。然后我添加了两个对应于不同列的变量,以便轻松引用该列。
import pandas as pd
df = pd.read_csv(file_name)
high = df.High
low = df.Low
然后我尝试做这样的事情。我尝试在变量中使用 .loc ,但这似乎不起作用。这可能非常愚蠢,但我对熊猫真的很陌生。
dates = df.loc[231:252, :]
for rows in dates:
# calculations here
# for example:
print(high - low)
# I would have a more complex calculation than this but
# but for simplicity's sake let's stick with this.
它的输出将是它打印的每一行 1-252,例如:
...
231 3.319997
232 3.910000
233 1.050001
234 1.850001
235 0.870001
...
但我只希望在一定数量的行上进行此输出。
然后我想将所有这些值相加,然后除以我循环的行数。这部分很简单,因此您无需在答案中包含这一点,但如果您这样做也没关系。
【问题讨论】:
-
欢迎来到 Stack Overflow!您可以使用
.iloc,它使用整数索引而不是.loc使用的标签索引
标签: python pandas csv dataframe for-loop