2015-01-28 3 views
1

У меня есть список файлов, и я хочу объединить с ним определенный столбец для всех моих файлов, чтобы выполнить кумулятивный анализ.Как конкатенировать определенный столбец из pandas.DataFrame()?

import pandas as pd 
import numpy as np 
all_data_sets = pd.DataFrame([]) 
for file_name in file_list: 
    my_data = pd.DataFrame([]) 
    my_data = pd.read_csv(file_name, delimiter=',', names=header_row) 
    my_data = my_data.reset_index() 
    all_data_sets.append(my_data['sales']) 

#np.mean(all_data_sets['sales']) 
np.mean(all_data_sets) 

ответ

1

вы можете использовать concat конкатенировать список DataFrames

df_list = [pd.read_csv(file_name, delimiter=',', names=header_row) for file_name in file_list] #opens your csv 

df = pd.concat(df_list) 

Затем вычислить среднее через

df.sales.mean() 

Небольшой пример

a = pd.DataFrame({'sales' : [2,4,6] , 'other' : [1,2,1]}) 
b = pd.DataFrame({'sales' : [7,4,7] , 'other' : [9,2,1]}) 

df = pd.concat([a,b]) 

dataframe является

 other sales 
    0  1  2 
    1  2  4 
    2  1  6 
    0  9  7 
    1  2  4 
    2  1  7 

и среднее

df.sales.mean() 
    5.0 
+0

WOW. Мне также понравилось, что вы также сократили мой код. Благодаря! – amehta