前提
大量の予測したcsvデータがあります。※予測データは「outフォルダ」の中には1か月分30個あります。
予測値は108時間分入っています。
out
|__
Aフォルダ⇒これが30個あります
|__A1.csv
A2.csv
A3.csv ....1時間ごと24個あります。
実現したいこと
すべて1時間ごとずれているデータになるので、日時を基準にすべてのデータを横に並べたいです。
2つのデータを指定してはできたのですが、フォルダ内にはいっているものを実行しようとするとできません。
いい方法が見つからず困っています。
発生している問題・エラーメッセージ
TypeError: Can only merge Series or DataFrame objects, a <class 'list'> was passed
該当のソースコード
python
1import pandas as pd 2import glob 3 4# パスで指定したファイルの一覧をリスト形式で取得 5csv_files = glob.glob('out/*/*.csv') 6 7#読み込むファイルのリストを表示 8for a in csv_files: 9 print(a) 10 11#csvファイルの中身を追加していくリストを用意 12data_list = [] 13 14#読み込むファイルのリストを走査 15for file in csv_files: 16 data_list.append(pd.read_csv(file)) 17 18df = pd.merge(data_list, on='startTime', how='outer', indicator=False, right=None) 19drop_df = df.drop(["lat", "lon", "windSpeed", "temperature"], axis=1) 20drop_df = drop_df.set_index('startTime') 21 22drop_df.to_csv("total_merge.csv",index=False)
試したこと
まず2つのデータでやりたいことが実行できるか試しました。
concatでも試してみたのですが、欲しいデータになりませんでした。
df = pd.merge(data_list, on='startTime', how='outer', indicator=False, right=None)に
right= Noneを入れていないと下記のエラーがでました。
TypeError: merge() missing 1 required positional argument: 'right'

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2022/11/14 01:18
2022/11/14 01:25
退会済みユーザー
2022/11/14 01:49
退会済みユーザー
2022/11/14 02:28