【发布时间】:2021-12-19 19:00:32
【问题描述】:
我有一个名为 PORResult 的数据框,它包含每日温度,其中行是年,每列是一天(121 行 x 365 列)。我还有一个数组,称为Percentile_90,它包含每天的阈值温度(长度=365)。对于PORResult 数据框中每年的每一天,我想知道那一天的值是否高于Percentile_90 数组中那一天的值。我想将其结果存储在一个名为Count(121 行 x 365 列)的新数据框中。首先,Count 数据框全为零,但如果 PORResult 中的每日值大于 Percentile_90 中的每日值。我想将 Count 中的每日值更改为 1。
这就是我要开始的:
for i in range(len(PORResult)):
if PORResult.loc[i] > Percentile_90[i]:
CountResult[i]+=1
但是当我尝试这个时,我得到 KeyError:0。我还能尝试什么?
【问题讨论】:
-
一方面,如果您使用的是数字索引,则需要
iloc而不是loc,后者用于命名索引。另一方面,这应该可以通过广播来完成,因此您不必遍历数据帧,但它有助于查看输入 df 和数组的小样本以及您的预期输出以生成 minimal reproducible example以便我们更好地理解和复制您的问题。另见How to make good pandas examples
标签: python pandas dataframe numpy weather