2017-01-24 2 views
0

Здравствуйте, я выполнил итерацию через несколько столбцов, и это сработало. НО Имена столбцов во всех файлах CSV в порядке следующим образом:Получение столбцов в порядке после итерации через несколько столбцов

Output: id title content tags 

Однако мой код выводит столбцы в следующем порядке:

Output : content id tags title 

Как получить его обратно в порядке, что все CSV-файлы имеют его как

вот мой код ниже:

import glob 
import os 
import pandas as pd 
pd.set_option("display.max_rows", 999) 
pd.set_option('max_colwidth',100) 
import numpy as np 
from IPython.display import display 
%matplotlib inline 

file_path = 'data/'      
all_files = glob.glob(os.path.join(file_path, "*.csv"))  

merging_csv_files = (pd.read_csv(f) for f in all_files) 
stack_exchange_data = pd.concat(merging_csv_files, ignore_index=True) 

print ("Data loaded succesfully!") 
print ("Stack Exchane Data has {} rows with {} columns each.".format(*stack_exchange_data.shape)) 

ответ

1

общий способ выбора DataFrame с колоннами в определенном порядке, чтобы просто создать список заказа вы желаете, а затем передать этот список на кронштейне оператора DataFrame, как это:

my_col_order = ['id', 'title', 'content', 'tags'] 

df[my_col_order] 

Кроме того, вы можете проверить, что все В DataFrames действительно одинаковый порядок столбцов. Я не верю, что Pandas сортирует имена столбцов в concat, если не существует хотя бы одного DataFrame, который имеет другой порядок столбцов. Возможно, вы захотите распечатать все имена столбцов из всех объединенных контуров DataFrames.

+0

wow это простой! работал как шарм! спасибо @Ted Petrou –