我有一个包含50列和2000多行数据的数据帧。基本上,我想逐行检查每一列的值是否在小于-10之前变为大于10。如果是这样,则迭代计数器并转到下一列。在
for row in data2.transpose().iterrows():
if row > 10:
countTP = countTP + 1
break
if row < -10:
countSL = countSL + 1
break
print countTP, countSL
Out: 1 0
至少有一半的列应该迭代计数器(我相信答案应该是3515)谢谢任何帮助!在
Tags:
你好像很困惑你想做什么。在
.iterrows()
给你一个元组。所以你的row
实际上是(column_name, Series)
形式的tuple
。元组总是大于整数。例如,读this one。所以row > 10
总是True
,而{row > 10
计算True
,它break
立即完成。没有更多的循环和检查(也许您在想continue
,但是行比较并没有如预期的那样工作。)这就是为什么您总是得到countTP=1
和{您真正需要的是类似以下嵌套循环的内容。(有人可能会说,这是缓慢的和矢量化是首选。但这是为了清晰,对于2000+50的数据帧,这不是太慢。)
相关问题 更多 >
编程相关推荐