Сохранение разных массивов в одном CSV-файле с динамическими именами столбцов в Python - PullRequest
0 голосов
/ 08 мая 2018

Моя таблица данных содержит 250 столбцов с именами столбцов «1» ... «250». После случайной выборки каждого столбца я хочу сохранить все выбранные столбцы в одном файле CSV с теми же именами столбцов, что и в таблице данных.

for i in range(1,250):
   z=np.random.choice(df[i], len(df), replace=False)

Как поступить?

1 Ответ

0 голосов
/ 08 мая 2018

Я считаю, что нужно присвоить обратно каждый столбец и затем написать csv по to_csv:

for i in range(1,250):
   df[i]=np.random.choice(df[i], len(df), replace=False)

df.to_csv(file, index=False)

Другое решение с sample:

df1 = df.sample(len(df.columns), replace=False)
df.to_csv(file, index=False)

Пример

df = pd.DataFrame(np.random.randint(30, size=(5,4))).rename(columns=lambda x: x+1)
print (df)
    1   2   3   4
0  12  10   2  14
1   9  14  28   4
2   9  11  14   8
3  22   8   2   9
4  28   3  23   6

df1 = df.sample(len(df.columns), axis=0, replace=False)
print (df1)
    1   2   3   4
3  22   8   2   9
0  12  10   2  14
2   9  11  14   8
4  28   3  23   6

for i in range(1,5):
   df[i]=np.random.choice(df[i], len(df), replace=False)

print (df)
    1   2   3   4
0  28  11  23   8
1  22   3   2  14
2   9  10  28   4
3   9   8  14   9
4  12  14   2   6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...