簡體   English   中英

如何在整個熊貓而不是每一行中使用整個數據框的groupby獲取最大值

[英]How to get max values with groupby of entire dataframe in Pandas, not each row

我的數據框輸出如下所示。 我想GROUPBY field id ,以獲得max HourlyTempFmin HourlyTempFsum的的HourlyPrecipIn 24小時內的。 我當前的解決方案給出了每一行的最大值,順便說一句又是整個數據幀。 我應該為每個字段ID設置三個值。

我認為問題在於數據框中的每一行都是“自己的數據框”,每一行都有標題和列,因此當我得到maxminsum ,我得到了每小時每一行的當前值,我實際上只是想對整個數據框進行分組,以便為​​我提供如下所示的輸出,並根據所需輸出中的值創建變量,以便將它們放在另一個數據框中。

我的代碼:

`import pandas as pd
 import pandas


hrly_df = pd.DataFrame({'dateTime' :[t], 'field id': [id_], 'HourlyPrecipIn': [aPreVJ],'HourlyRH' : [aHumidVJ], 'HourlyTempF' : [aTempVJ]})


hrly_df = hrly_df[['dateTime','field id','HourlyPrecipIn','HourlyRH', 'HourlyTempF']]
hrly_df.head()
hrlydfs = hrLylst.append(hrly_df)


#GETS EACH MAX ROW INSTEAD OF MAX FOR DF
tempMax= hrly_df.groupby('field id')['HourlyTempF'].agg(['max'])
tempMax2 = tempMax.max().max()

# print 'Data successfully collected - writing to csv...'

tempDf = pd.DataFrame({'date' :[config.dayVal ], 'field id': [id_], 'DailyHighF': ['SHOULD BE MAX FROM hrly_df'],'DailyLowF' : ['SHOULD BE MIN FROM HRLY DF'], 'DailyPrecipIn' : ['SHOULD BE TOTAL FROM HRLY DF']})

我打印tempMax時的電流輸出

Starting import of field id: 40238 44.9 45.1 45.1 45.3 46.7 46.7 48.6 50.2 52.1 54.0 54.3 54.5 54.7 54.5 56.4 56.6 55.7 54.0 54.0 54.1 54.1 53.6 52.2 Starting import of field id: 3402 44.9 45.1 45.1 45.3 46.7 46.7 48.6 50.2 52.1 54.0 54.4 54.5 54.7 54.5 56.5 56.6 55.7 54.1 54.0 54.1 54.2 53.6 52.2 Starting import of field id: 45883 45.3 45.6 45.7 45.9 47.1 47.3 49.1 50.7 52.7 54.3 54.8 55.0 55.2 55.0 57.1 57.5 56.2 54.6 54.4 54.6 54.6 53.8 52.7

所需輸出:

field id | max temp  | min temp | total precip
40238      56.4         44.9        0.06
3402       56.6         44.9        0.06
45883      57.7         45.3        0.06

當前數據框 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 01:00:00 40238 0.0 98.8 44.9 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 02:00:00 40238 0.0 98.9 45.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 03:00:00 40238 0.0 98.7 45.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 04:00:00 40238 0.02 99.6 45.3 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 05:00:00 40238 0.0 95.0 46.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 06:00:00 40238 0.0 99.8 46.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 07:00:00 40238 0.02 95.6 48.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 08:00:00 40238 0.0 94.4 50.2 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 09:00:00 40238 0.01 93.6 52.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 10:00:00 40238 0.0 93.6 54.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 11:00:00 40238 0.01 93.5 54.3 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 12:00:00 40238 0.0 87.3 54.5 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 13:00:00 40238 0.0 86.1 54.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 14:00:00 40238 0.0 88.0 54.5 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 15:00:00 40238 0.0 82.1 56.4 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 16:00:00 40238 0.0 85.5 56.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 17:00:00 40238 0.0 82.9 55.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 18:00:00 40238 0.0 82.6 54.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 19:00:00 40238 0.0 79.1 54.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 20:00:00 40238 0.0 83.8 54.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 21:00:00 40238 0.0 87.9 54.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 22:00:00 40238 0.0 88.6 53.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 23:00:00 40238 0.0 87.5 52.2 Starting import of field id: 3402 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 01:00:00 3402 0.0 98.7 44.9 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 02:00:00 3402 0.0 98.8 45.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 03:00:00 3402 0.0 98.7 45.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 04:00:00 3402 0.01 99.5 45.3 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 05:00:00 3402 0.0 95.0 46.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 06:00:00 3402 0.0 99.7 46.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 07:00:00 3402 0.02 95.6 48.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 08:00:00 3402 0.0 94.5 50.2 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 09:00:00 3402 0.01 93.6 52.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 10:00:00 3402 0.0 93.6 54.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 11:00:00 3402 0.01 93.5 54.4 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 12:00:00 3402 0.0 87.3 54.5 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 13:00:00 3402 0.0 86.0 54.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 14:00:00 3402 0.0 87.9 54.5 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 15:00:00 3402 0.0 82.0 56.5 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 16:00:00 3402 0.0 85.4 56.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 17:00:00 3402 0.0 82.9 55.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 18:00:00 3402 0.0 82.6 54.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 19:00:00 3402 0.0 79.2 54.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 20:00:00 3402 0.0 83.8 54.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 21:00:00 3402 0.0 87.9 54.2 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 22:00:00 3402 0.0 88.6 53.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 23:00:00 3402 0.0 87.5 52.2 Starting import of field id: 45883 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 01:00:00 45883 0.0 97.9 45.3 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 02:00:00 45883 0.0 97.9 45.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 03:00:00 45883 0.0 97.7 45.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 04:00:00 45883 0.0 99.0 45.9 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 05:00:00 45883 0.0 95.5 47.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 06:00:00 45883 0.0 99.0 47.3 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 07:00:00 45883 0.03 95.3 49.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 08:00:00 45883 0.0 95.2 50.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 09:00:00 45883 0.01 94.0 52.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 10:00:00 45883 0.02 93.3 54.3 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 11:00:00 45883 0.04 92.9 54.8 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 12:00:00 45883 0.0 86.9 55.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 13:00:00 45883 0.0 84.7 55.2 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 14:00:00 45883 0.0 87.3 55.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 15:00:00 45883 0.0 81.9 57.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 16:00:00 45883 0.0 83.4 57.5 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 17:00:00 45883 0.0 82.5 56.2 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 18:00:00 45883 0.0 82.1 54.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 19:00:00 45883 0.0 80.1 54.4 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 20:00:00 45883 0.0 83.9 54.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 21:00:00 45883 0.0 87.4 54.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 22:00:00 45883 0.0 88.4 53.8 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 23:00:00 45883 0.0 87.5 52.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 01:00:00 40238 0.0 98.8 44.9 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 02:00:00 40238 0.0 98.9 45.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 03:00:00 40238 0.0 98.7 45.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 04:00:00 40238 0.02 99.6 45.3 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 05:00:00 40238 0.0 95.0 46.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 06:00:00 40238 0.0 99.8 46.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 07:00:00 40238 0.02 95.6 48.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 08:00:00 40238 0.0 94.4 50.2 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 09:00:00 40238 0.01 93.6 52.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 10:00:00 40238 0.0 93.6 54.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 11:00:00 40238 0.01 93.5 54.3 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 12:00:00 40238 0.0 87.3 54.5 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 13:00:00 40238 0.0 86.1 54.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 14:00:00 40238 0.0 88.0 54.5 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 15:00:00 40238 0.0 82.1 56.4 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 16:00:00 40238 0.0 85.5 56.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 17:00:00 40238 0.0 82.9 55.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 18:00:00 40238 0.0 82.6 54.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 19:00:00 40238 0.0 79.1 54.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 20:00:00 40238 0.0 83.8 54.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 21:00:00 40238 0.0 87.9 54.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 22:00:00 40238 0.0 88.6 53.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 23:00:00 40238 0.0 87.5 52.2 Starting import of field id: 3402 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 01:00:00 3402 0.0 98.7 44.9 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 02:00:00 3402 0.0 98.8 45.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 03:00:00 3402 0.0 98.7 45.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 04:00:00 3402 0.01 99.5 45.3 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 05:00:00 3402 0.0 95.0 46.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 06:00:00 3402 0.0 99.7 46.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 07:00:00 3402 0.02 95.6 48.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 08:00:00 3402 0.0 94.5 50.2 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 09:00:00 3402 0.01 93.6 52.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 10:00:00 3402 0.0 93.6 54.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 11:00:00 3402 0.01 93.5 54.4 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 12:00:00 3402 0.0 87.3 54.5 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 13:00:00 3402 0.0 86.0 54.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 14:00:00 3402 0.0 87.9 54.5 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 15:00:00 3402 0.0 82.0 56.5 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 16:00:00 3402 0.0 85.4 56.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 17:00:00 3402 0.0 82.9 55.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 18:00:00 3402 0.0 82.6 54.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 19:00:00 3402 0.0 79.2 54.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 20:00:00 3402 0.0 83.8 54.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 21:00:00 3402 0.0 87.9 54.2 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 22:00:00 3402 0.0 88.6 53.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 23:00:00 3402 0.0 87.5 52.2 Starting import of field id: 45883 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 01:00:00 45883 0.0 97.9 45.3 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 02:00:00 45883 0.0 97.9 45.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 03:00:00 45883 0.0 97.7 45.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 04:00:00 45883 0.0 99.0 45.9 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 05:00:00 45883 0.0 95.5 47.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 06:00:00 45883 0.0 99.0 47.3 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 07:00:00 45883 0.03 95.3 49.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 08:00:00 45883 0.0 95.2 50.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 09:00:00 45883 0.01 94.0 52.7 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 10:00:00 45883 0.02 93.3 54.3 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 11:00:00 45883 0.04 92.9 54.8 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 12:00:00 45883 0.0 86.9 55.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 13:00:00 45883 0.0 84.7 55.2 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 14:00:00 45883 0.0 87.3 55.0 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 15:00:00 45883 0.0 81.9 57.1 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 16:00:00 45883 0.0 83.4 57.5 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 17:00:00 45883 0.0 82.5 56.2 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 18:00:00 45883 0.0 82.1 54.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 19:00:00 45883 0.0 80.1 54.4 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 20:00:00 45883 0.0 83.9 54.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 21:00:00 45883 0.0 87.4 54.6 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 22:00:00 45883 0.0 88.4 53.8 dateTime field id HourlyPrecipIn HourlyRH HourlyTempF 0 2019-05-22 23:00:00 45883 0.0 87.5 52.7

請注意,由於復制/粘貼數據中引入的錯誤,我看到的值可能會略有不同,但是最簡單的獲取方法(我假設)是您的輸出是在agg()函數的列上使用groupby聚合字典。

這是我的測試DF中數據的外觀:

    dateTime    field       id      HourlyPrecipIn  HourlyRH    HourlyTempF
0   2019-05-22  01:00:00    40238   0.0             98.8        44.9
0   2019-05-22  02:00:00    40238   0.0             98.9        45.1
0   2019-05-22  03:00:00    40238   0.0             98.7        45.1
0   2019-05-22  04:00:00    40238   0.02            99.6        45.3
0   2019-05-22  05:00:00    40238   0.0             95.0        46.7
0   2019-05-22  06:00:00    40238   0.0             99.8        46.7

如果您的數據是作為單獨的行進入的,那么將其放入單個數據幀可能完全是另一個問題。

df.groupby('id').agg({'HourlyTempF':[max,min],'HourlyPrecipIn':sum})

        HourlyTempF     HourlyPrecipIn
        max     min     sum
id          
3402    56.6    44.9    0.05
40238   56.6    44.9    0.06
45883   57.5    45.3    0.10

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM