如何使用循环

时间:2018-05-15 22:23:00

标签: python pandas

Base DataFrame

df = pd.DataFrame(np.random.randint(0,10,size=(100,6)),columns = 
['red','blue','yellow','green','purple','total'])

如何用循环编码?

df_x = df[df.columns[[y,5]]]

我想将此逻辑应用于具有更多列的数据框,但为了简单起见,将问题归结为此。

下面是所需的输出,创建了5个新数据帧(假设我不必输入所有5行)

df_red = df[df.columns[[0,5]]]
df_blue = df[df.columns[[1,5]]]
df_yellow = df[df.columns[[2,5]]]
df_green = df[df.columns[[3,5]]]
df_purple = df[df.columns[[4,5]]]

1 个答案:

答案 0 :(得分:2)

您可以使用groupby axis =1pd.concat

variables = locals()
for x , y  in df.iloc[:,:-1].groupby(level=0,axis=1):
    variables["df_{0}".format(x)] =pd.concat([y,df.iloc[:,[-1]]],axis=1)


df_red.head()

Out[566]: 
   red  total
0    4      7
1    7      9
2    6      7
3    4      2
4    5      8