2016-07-18 5 views
-3

私は10個のCSVファイルにデータを持っています。各csvファイルには1行のデータエンティティ(500000データポイント、ヘッダーなしなど)があります。 3つの質問:複数のCSVファイルを分析する

  1. データを500000行の1列に変換するにはどうすればよいですか?
  2. これらを1つの配列にインポートする方がいいですか?500000 x 10を分析してください。もしそうなら、どうすればこのことができますか?
  3. また、1つのDataFrame 500000 x 10にインポートして解析する方がよいでしょうか。

答えて

1

ファイル名のリストがfilesであるとします。その後:

df = pd.concat([pd.read_csv(f, header=None) for f in files], ignore_index=True) 
    df
  1. は、10×500000データフレームです。それを500000 x 10にするdf.T

答えは2と3です。

+0

@deserthiker:df.as_matrix()を使用してnumpyに変換することもできます。 – Ohumeronen

0

まず、すべての10のCSV読み:

import os, csv, numpy 
import pandas as pd 

my_csvs = os.listdir('path to folder with 10 csvs') #selects all files in folder 
list_of_columns = [] 
os.chdir('path to folder with 10 csvs') 

for file in my_csvs: 
    column = [] 
    with open(file, 'r') as f: 
     reader = csv.reader(f) 
     for row in reader: 
      column.append(row) 
    list_of_columns.append(column) 

をこれは、あなたがリスト-列のリストを取得する方法です。次に、それらをpandas dfまたはnumpyに変換します。

関連する問題