【发布时间】:2019-04-08 22:50:31
【问题描述】:
我需要按行(在一列内)循环,然后按数据集中的其余列循环。
我已经尝试过使用 iterows()、iloc() 和 iat()。
import pandas as pd
# Two-dimensional data frame
table = {'A' : [0.1, -0.2, 0.3, -0.4],'B' : [-0.2, 0.4, 0.6, 0.8], 'C' : [0.3, -0.6, -0.9, -1.3]}
# Setting index to be new column
df = pd.DataFrame(table, index = ['W','X','Y','Z'])
column_list = list(df.columns)
total_columns = len(column_list)
total_rows = len(df.index)
column_num = 1
column = column_list[column_num]
winners = []
losers = []
zero = []
for col_num in df:
row_num = 1
for row_num in df:
if (df.iloc[row_num][column]) > 0:
winners.append(df.iloc[row_num][column])
elif (df.iloc[row_num][column]) < 0:
losers.append(df.iloc[row_num][column])
else:
zero.append(df.iloc[row_num][column])
row_num = row_num + 1
【问题讨论】:
-
预期结果是什么?
-
如果我没看错,您只想从数据帧的所有元素中创建一个列表,从第一个索引 fir 元素开始,到最后一个索引 last 元素正确吗?跨度>
-
我想在列中逐行迭代,然后重复列数。
-
每一列的结果将成为另一个数据框中的条目