将panda数据帧随机洗净n次,并每次重命名

时间:2018-10-30 19:09:55

标签: python pandas dataframe

我想对熊猫数据框进行“ 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 :(得分:1)

您可以使用

for i in range(n):
    df.sample(frac= 1).to_csv(f"example_{i}.csv")

答案 1 :(得分:0)

如果需要创建任意数量的变量,则应将它们存储在字典中,以后可以通过它们的键引用它们;在这种情况下,您要遍历的整数。

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