我有两个系列:s1和s2,充满了一年中每小时的数据。我想创建另一个系列,s3以便:
所以我可以做一些像
for i in range(1,len(s1)):
if (s1.iat[i] > 0 and s1.iat[i]>s2.iat[i]):
s3.iat[i] = s1.iat[i]
elif (s1.iat[i] > 0 and s1.iat[i]>s2.iat[i]):
s3.iat[i] = s2.iat[i]
else:
s3.iat[i] = 0
但我相信有一个更优雅,希望更快,这样做的方法。我尝试过许多布尔索引和努比。哪里,但我不知道如何告诉Python执行“a[b>;c]=b”。它似乎不喜欢按行比较不同的数组。你知道吗
您应该能够执行以下操作(假设您的数组是numpy数组):
例如:
这里有一些工作..
这可能有助于解释……
如果你把上面的应用到你的代码中。。。我不确定我是否会正确地在我的结束,因为我不知道什么是
iat
。你知道吗如果数组真的很大,我会用
itertools.izip
替换zip
,因为那样会返回一个迭代器。你知道吗相关问题 更多 >
编程相关推荐