如何在一个数据帧的两个列中执行每个循环?

2024-10-01 15:43:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含7列的数据帧,我想同时循环其中的两列,以比较每行中的值。这是我的for循环头,其中watchCol和diaryCol是列编号:

for watch, diary in df.iloc[:, watchCol], df.iloc[:, diaryCol]:

当我运行这个时,我在那一行得到以下错误:

ValueError: too many values to unpack (expected 2)

我做错什么了?在

谢谢

编辑:

两列都包含日期时间。我需要比较这两个值,如果差异在某个范围内,我将该值从watchCol复制到另一列中,否则将移到下一行。在


Tags: 数据indffor错误编号manydiary
1条回答
网友
1楼 · 发布于 2024-10-01 15:43:22

如果要逐行比较条目,请尝试以下操作:

import pandas as pd  
df = pd.DataFrame({"a": [2, 2, 2, 2, 2], "b": [4, 3, 2, 1, 0]})

df["a greater than b"] = df.apply(lambda x: x.a > x.b, axis=1)
print df

   a  b a greater than b
0  2  4            False
1  2  3            False
2  2  2            False
3  2  1             True
4  2  0             True

这就是说,如果您确实想逐行遍历元素:

^{pr2}$

相关问题 更多 >

    热门问题