我有办法通过For循环迭代每一列吗?
我的数据被加载到dataFrame中,但除了明确命名一对特定列之外,我很难对列进行广义迭代以进行比较。
理想情况下,我可以像这样进行简单的计算(以迭代方式):
for columns in df:
if(df[column] > df[column+1]):
return True
我的数据如下:
S1 S2 S3 C1 C2 C3 conclusion
1 10 23 200 180 125 "black"
6 18 34 200 221 230 "red"
4 21 32 200 150 250 "orange"
答案 0 :(得分:0)
您想迭代数据框中的所有列吗? df.columns
将为您提供数据框中的列数组
使用
for column in df.columns:
print(df[column])
如果要将一列与下一列进行比较,请使用
column_array=df.columns.tolist()
for column,next_column in zip(df.columns,column_array[1:]):
if (df[column] > df[next_column]):
return true
答案 1 :(得分:0)
有几种方法可以遍历列,具体取决于您想要做什么
使用列标签:
for column in df.columns:
df[column]
使用数字索引:
for i in range(len(df.columns)):
df.iloc[:, i]
使用iteritems
:
for name, column in df.iteritems():
column
我不确定if(df[column] > df[column+1]):
的输出应该是什么,因为您的数据框中有字符串和整数,但上述方法之一应该能够根据您的需要进行调整