我想创建一个创建多个csv的循环,这些csv在开头有相同的9列但在最后一列中迭代地不同。
[col1,col2,col3,col4,...,col9,col[i]]
我有一个形状为(20000,209)的数据帧。 我想要的是我创建了一个循环,它不需要太多的计算能力和资源,但创建了200个csvs,它们在最后一列中有所不同。所有列都存在于一个数据框中。应添加的列位于列i = [10:-1]。
我想到了类似的东西:
for col in df.columns[10:-1]:
dfi = df[:9]
dfi.concat(df[10])
dfi.dropna()
dfi.to_csv('dfi.csv'))
也许也可以使用
dfi.to_csv('dfi.csv', sequence = [:9,i])
我应该显示添加列的编号。知道如何轻松实现这一目标吗? :)
非常感谢!
答案 0 :(得分:2)
我不确定我完全理解你想要的是什么,但是你是说每个csv应该只有10列,所有应该有前9个,然后是剩余的200个列中的每个csv一个?
如果是这样,我会选择一些简单的事情:
base_cols = list(range(9))
for i in range(9, 209):
df.iloc[:, base_cols+[i]].to_csv('csv{}.csv'.format(i))
我认为哪个应该有用。