"Keyerror" - 遍历 Dataframe 中的每个元素

"Keyerror" - Iterating through each element in Dataframe

尝试遍历 2D Dataframe 中的每个元素,以便如果列的值从上一行变为 1,则该值将保持不变,否则该值将始终变为 0。

尝试了下面的代码,但是根据我定义为范围开始的内容,我得到了“Keyerror:0”或“Keyerror:1”。有什么想法可以修复它或以其他方式进行吗?

for R in range(1, signal_data.shape[0]):
      for C in range(1, signal_data.shape[1]):
                    if signal_data[C][R] - signal_data[C][R-1] == 1:
                          signal_data[C][R] = 1
                    else:
                            signal_data[C][R] = 0

您不能像那样通过其 id 调用 pandas 数据框列。 使用真实的列名(您可以使用 df.columns 获取它们并将其存储在列表中) 或者使用 loc

看到你的代码,你可以考虑使用 numpy.array 而不是 pandas.DataFrame