複数のCSVファイルがあり、それを読み込んで、timeをkeyにmergeで横結合したいです。
イメージとしては以下のようなファイルです。
ファイル:data_20190708.csv
time count
1 10
2 5
ファイル:data_20190710.csv
time count
1 8
2 3
ファイル:data_20190711.csv
time count
1 8
3 5
↓
time count20190708 count20190710 count20190711
1 10 8 8
2 5 3
3 5
そこで以下のようなコードを書いたところ、mergeの部分でどう書いたらいいかわからなかったため、質問させていただきました。
ちなみにmergeまでの部分は一部省略しておりますが、基本的に合っており、リスト:liにはきちんと読み込んだ数種類のデータが入っていました。
timeをkeyにしたいのですが、concatを使う場合はtimeをindex化しないといけないですよね?
また、後学のために教えていただきたいのですが、仮にtime、placeのようにkeyが2つ以上ある場合はどうしたらいいのでしょうか?
よろしくお願いいたします。
folder_list = ['20190708','20190709','20190710','20190711'] for j in folder_list: file_name = 'C://Users//~' + j all_files = glob.glob(file_name + '/*.csv') files = [s for s in all_files if ('data' in s)] li = [] for filename in files: df = pd.read_csv(filename, skiprows=4, header=None) df = df.rename(columns={0:'time', 1:'count'+j}) li.append(df) df2 = pd.merge(li[1],li, on='time')
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。