Перетасуйте данные панды n раз и переименуйте их каждый раз - PullRequest
0 голосов
/ 30 октября 2018

Я хочу перемешать фрейм данных панды n раз, сохранить перетасованный фрейм данных с новым именем и затем экспортировать его в файл csv. Я имею в виду -

import pandas as pd
import sklearn
import numpy as np
from sklearn.utils import shuffle

df = pd.read_csv('example.csv')

Тогда как то так-

for i in np.arange(n):
    df_%i = shuffle(df)
    df_%i.to_csv('example.csv')

Я ценю любую помощь. Спасибо!

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Вы можете использовать

for i in range(n):
    df.sample(frac= 1).to_csv(f"example_{i}.csv")
0 голосов
/ 30 октября 2018

Если вам нужно создать произвольное количество переменных, вы должны сохранить их в словаре, и вы можете ссылаться на них позже по их ключам; в этом случае целое число, которое вы зациклите.

d = {}
for i in range(n):
    d[i] = df.sample(frac=1)  #d[i] = shuffle(df) in your case
    d[i].to_csv(f'example_{i}.csv')

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(1, 10, (3, 3)))

d = {}
for i in range(5):
    d[i] = df.sample(frac=1)

d[1]
#   0  1  2
#0  6  3  2
#1  7  6  4
#2  2  6  9

d[2]
#   0  1  2
#2  2  6  9
#1  7  6  4
#0  6  3  2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...