2017-04-16 80 views
0

我有一個文件夾,其中包含具有不同格式數據的多個txt文件,這些文件稍後將進行合併。目前我需要以同樣的方式將它們格式化。Python:如何迭代一組數據幀中的特定數據幀

path =r'C:\\Users\\data' 
filenames = glob.glob(path + "/*.txt") 

dfs = [] 
for filename in filenames: 
    dfs.append(pd.read_csv(filename, infer_datetime_format=True, sep=None, 
engine='python', header=None)) 

然後,我有列表中的幾個dataframes一個特定的格式:

#Format 1 

dfs[3][[0,1]]= dfs[3][1].str.split(expand=True) 
dfs[4][[0,1]]= dfs[4][1].str.split(expand=True) 
dfs[3].columns=['Date','Time','Wind Vel 1','Wind Vel 2','Dir1','Dir2','NaN'] 
dfs[3] = dfs[3].drop('NaN',1) 
dfs[4].columns=['Date','Time','Wind Vel 1','Wind Vel 2','Dir1','Dir2','NaN'] 
dfs[4] = dfs[4].drop('NaN',1) 

如何做到這一點的DFS [3]和DFS [4]在一個循環?

回答

0

輕鬆:

for i in (3,4): 
    dfs[i][[0,1]]= dfs[i][1].str.split(expand=True) 
    dfs[i].columns=['Date','Time','Wind Vel 1','Wind Vel 2','Dir1','Dir2','NaN'] 
    dfs[i] = dfs[i].drop('NaN',1) 
+0

謝謝!正在嘗試類似的版本,但我想我的格式不是很正確。還有另一種方法可能比循環更快嗎? –