如何通过行和if语句组合for循环

时间:2019-08-05 11:12:28

标签: python pandas dataframe for-loop if-statement

我知道这可能真的很基本,但是我似乎无法正确地做到这一点... 我有一个由时间戳索引的4列的数据框。 我想遍历每一行,如果某行的值超出限制,则同时打印时间戳记,列名和值。 如何在应用过滤器内进行迭代?

值都是浮点数,并且一直在尝试迭代和迭代项。

inf_value = -5
sup_value = 200

for index, row in df.iterrows():
   if row > sup_value:
      print(index, df.column, value)
   if row < inf_value:
      print(index, df.column, value)

我希望它打印时间戳,后跟列名称和值,例如: 2019年5月8日专栏1 205.5

有帮助吗?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,则要检查是否有任何值超出给定限制,如果是,则打印这些值的索引(行和列)。

为此,您需要将每个值与限制而不是一行进行比较:

for index, row in df.iterrows():
    for column, value in row.items():
        if value > sup_value:
            print(index, column, value)
        if value < inf_value:
            print(index, column, value)