我有一个案例,其中来自“外部”for循环的多个属性与来自“inside”for循环的多个属性进行比较。
这两个循环都在pandas数据框架上,从一点点阅读开始,使用iterrows()
进行这类工作通常会很慢。
下面说明了如何/为什么使用这个嵌套for循环。这很慢。
for key1, values1 in dataframe_1.iterrows():
for key2, values2 in dataframe_2.iterrows():
if values2['a'] > values1['a'] and value2['b'] == values1['b']:
# do something, such as append to a combined df
有没有更合适的方法在pandas数据帧上执行这些类型的嵌套比较?不同的数据类型(即字典)是一个更好的起点吗?
答案 0 :(得分:0)
您不必在大熊猫中应用for
循环或iterrows()
:
for i in ((d2['a'] > d1['a']) & (d2['b'] == d1['b'])):
# do something
print i
根据要使用的值,您可以更改行:
(d2['a'] > d1['a']) & (d2['b'] == d1['b'])
获取进行某些操作所需的数据。