Как создать несколько подмножеств DataFrame с циклом - PullRequest
0 голосов
/ 16 мая 2018

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 голосов
/ 16 мая 2018

Вы можете сделать с groupby axis =1 и pd.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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...