2017-07-01 93 views
0

我想創建一個循環,它創建多個csvs,它們在開始時具有相同的9列,但在最後一列中迭代不同。用於創建CSV數據幀列索引的循環

[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]) 

的我應該會顯示添加的列數。任何想法如何輕鬆實現這一點? :)

非常感謝!

回答

2

我不確定我完全理解你想要什麼,但你是說每個csv應該只有10列,所有應該有剩餘的200列的前9個,然後一個csv?

如果是的話我會去簡單的東西如:

base_cols = list(range(9)) 

for i in range(9, 209): 
    df.iloc[:, base_cols+[i]].to_csv('csv{}.csv'.format(i)) 

這應該工作,我認爲。

+0

工作得很好,非常感謝! – inneb