1
私はPythonで2つのデータフレームを持っています。 1番目は1日の生の降水量データで、2番目のデータはgroup.by
を使用した1日降水量の合計です。1つのデータフレームの列をPythonのグループ化データフレームに追加
1つのデータフレームは、この(device_idsの間でより多くの行を持つ)のようになります。
>>> df1
device_id rain day month year
0 9z849362-b05d-4317-96f5-f267c1adf8d6 0.0 31 12 2016
1 9z849362-b05d-4317-96f5-f267c1adf8d6 0.0 31 12 2016
6 e7z581f0-2693-42ad-9896-0048550ccda7 0.0 31 12 2016
11 e7z581f0-2693-42ad-9896-0048550ccda7 0.0 31 12 2016
12 ceez972b-135f-45b3-be4w-7c23102676bq 0.2 31 12 2016
13 ceez972b-135f-45b3-be4w-7c23102676bq 0.0 31 12 2016
18 ceez972b-135f-45b3-be4w-7c23102676bq 0.0 31 12 2016
19 1d28dz3a-c923-4967-a7bb-5881d232c9a7 0.0 31 12 2016
24 1d28dz3a-c923-4967-a7bb-5881d232c9a7 0.0 31 12 2016
25 a044ag4f-fd7c-4ae4-bff3-9158cebad3b1 0.0 31 12 2016
29 a044ag4f-fd7c-4ae4-bff3-9158cebad3b1 0.0 31 12 2016
29 a044ag4f-fd7c-4ae4-bff3-9158cebad3b1 0.0 31 12 2016
... ... ... ... ... ...
3903 9z849362-b05d-4317-96f5-f267c1adf8d6 0.0 31 12 2016
3904 9z849362-b05d-4317-96f5-f267c1adf8d6 0.0 31 12 2016
3905 9z849362-b05d-4317-96f5-f267c1adf8d6 0.0 31 12 2016
、他方は、このようなものになります。私は使用して得た
>>> df2
rain
device_id
1d28dz3a-c923-4967-a7bb-5881d232c9a7 0.0
9z849362-b05d-4317-96f5-f267c1adf8d6 0.0
a044ag4f-fd7c-4ae4-bff3-9158cebad3b1 1.2
ceez972b-135f-45b3-be4w-7c23102676bq 2.2
e7z581f0-2693-42ad-9896-0048550ccda7 0.2
を... :
df2 = df1.groupby(['device_id'])[["rain"]].sum()
私は私の最後のデータフレームは次のようになりたい:
>>> df3
rain day month year
device_id
1d28dz3a-c923-4967-a7bb-5881d232c9a7 0.0 31 12 2016
9z849362-b05d-4317-96f5-f267c1adf8d6 0.0 31 12 2016
a044ag4f-fd7c-4ae4-bff3-9158cebad3b1 1.2 31 12 2016
ceez972b-135f-45b3-be4w-7c23102676bq 2.2 31 12 2016
e7z581f0-2693-42ad-9896-0048550ccda7 0.2 31 12 2016
つまり、df1
の "day month year"カラムをdf2
に追加したいとします。 merge
、append
などを使用する必要があるかどうかはわかりません。
このshoudlはトリックを行う! df.groupby(['device_id'、 'day'、 'month'、 'year']、as_index = False).sum() ' – MaxU
の代わりに" as_index = False "を使用することもできます。ああ、 'as_index = False'。私は2週間前にそれを使用しましたが、それを忘れました。念押し有難う。 – lmo
ありがとう@lmoと@MaxU! – JAG2024