条件付きインデックスを使用して 2 つの DataFrame を組み合わせたテーブルを表示したいと考えています。これは 1 つの DataFrame で機能します。
room1,weather = pd.read_excel(mypath,sheetnames[0]),pd.read_excel(mypath,sheetnames[2])
selector = (room1.Time>='08:00') & (room1.Time<='18:00')
view = ['Time','Cooling_plant_sensible_load']
room1[selector][view][:12]
これは私に次のようなものを与えます:
Time Cooling_plant_sensible_load
7 08:00 0.000
8 09:00 0.000
....
16 17:00 0.000
17 18:00 0.000
31 08:00 0.000
DataFrameには、ビューに追加したいweather
というシリーズがあるので、このように表示されますDry_Bulb_Temperature
Time Cooling_plant_sensible_load Dry_Bulb_Temperature
7 08:00 0.000 18
8 09:00 0.000 22
....
16 17:00 0.000 19
17 18:00 0.000 16
31 08:00 0.000 12
追加してみました:
selector2 = (weather.Time>='08:00') & (weather.Time<='18:00')
pd.concat({'room1':room1[selector][view][:12],'wea':weather[selector2]['Dry_bulb_temperature']},axis=1)
それは私にAttributeError: 'Series' object has no attribute '_data'
編集:
weather[selector2]['Dry_bulb_temperature'][:12]
次のようになります。
major
7 15.3
8 16.0
9 18.0
10 19.9
11 21.9
12 22.9
13 24.0
14 25.0
15 24.8
16 24.5
17 24.3
31 16.2
Name: Dry_bulb_temperature, dtype: float64
EDIT2:
シリーズAttributeError: 'Series' object has no attribute '_data'
だからweather[selector2]['Dry_bulb_temperature']
起こるconcat は DataFrame を期待していますが、データフレームと連結することはできません。つまり、連結には2つの同様のタイプが必要です(以下の@Philipが指摘しているように、前のコメントは間違っています)。
したがって、room1 DataFrame と weather DataFrame を組み合わせることができます。これは行く方法ですか?2 つの「時系列」が重複しないようにするにはどうすればよいですか?
多数の room(n) データフレームがあり、それぞれが同じ気象データセットを参照する方法があるのではないかと考えていました。