2012-05-11 46 views
12

DataFrame pandaları oluşturmaya çalışıyorum ve tek bir dosya için iyi çalışıyor. Aynı veri yapısına sahip birden fazla dosya için oluşturmam gerekiyorsa. Yani tek dosya adı yerine DataFrame'u oluşturmak istediğim dosya adlarının bir listesi var.Birden çok dosyadan pandalar veri çerçevesi oluşturma

Geçerli pandalarda geçerli DataFrame'a eklenmenin yolunun ne olduğundan emin değilsiniz veya pandaların bir dosya listesini DataFrame içine emmesi için bir yol var.

cevap

21

Pandalar concat komutu arkadaşın burada. Bir dizinde tüm dosyalarınız olduğunu belirtelim. Şunları yapabilirsiniz:

  1. dosyaların bir listesini yapmak
  2. pandalar dataframes
  3. olarak yüklemek ve eğer sadece merak ..

`

import os 
import pandas as pd 

#list the files 
filelist = os.listdir(targetdir) 
#read them into pandas 
df_list = [pd.read_table(file) for file in filelist] 
#concatenate them together 
big_df = pd.concat(df_list) 
+0

Glob ilk adım için mükemmel olurdu. Joker karakterleri kullanarak dosyaların bir listesini oluşturabilirsiniz. – thecircus

+1

Kullanım koşulumda, her csv dosyası bir sütunu temsil ettiğinden beri pd.concat (df_list, ignore_index = True, axis = 1) 'yapmam gerekiyordu – zje

1

Dosyaları pandalara beslemeden önce birleştirmeyi deneyebilirim. Eğer Linux veya Mac kullanıyorsanız, cat'u kullanabilirsiniz, aksi takdirde çok basit bir Python işlevi sizin için işi yapabilir.

+0

Tabii bunları birbirine orada bitiştirmek tüm dosyaları birleştirmeden bunu yapmanın bir yoludur. Hızlı cevabınız için teşekkürler Jose – Abhi

0

Bu dosyalar csv formatında mı? Read_csv'yi kullanabilirsiniz. http://pandas.sourceforge.net/io.html

Dosyaları okuduktan ve iki veri çerçevesine kaydettikten sonra, iki veri çerçevesini birleştirebilir veya iki veri çerçevesinden birine ek sütunlar ekleyebilirsiniz (ortak dizin varsayarak). Pandalar eksik satırları doldurabilmelidir.

3

Potansiyel korkunç verimsiz ama ...

Neden onları biraraya koymak için katılmak kullanmak, sonra iki (veya daha fazla) dataframes inşa etmek, read_csv kullanmak

?

Bazı veri ya da bugüne kadar kullandığınız kodlardan bazılarını sağlamanız durumunda, sorunuza yanıt vermek daha kolay olacaktır.

İlgili konular