Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- df_arc = df_arc[df_arc['Реактивная мощность'] >= 0] # избавимся от аномалий в df_arc
- # и в df_temp
- df_temp = df_temp[df_temp['Температура'] >= 1500]
- # преобразовываем в нужный формат
- df_temp['Время замера'] = pd.to_datetime(df_temp['Время замера'], format='%Y-%m-%d %H:%M:%S')
- # сводная таблица с последней температурой
- df_temp_last = pd.pivot_table(df_temp, index='key', values=['Время замера', 'Температура'],
- aggfunc={'Время замера' : 'max', 'Температура' : 'last'})
- df_temp_last = df_temp_last.reset_index()
- df_temp_last.set_axis(['key','time_last','temp_last'], axis = 'columns', inplace = True)
- # сводная таблица с первой температурой
- df_temp_first = pd.pivot_table(df_temp, index='key', values=['Время замера', 'Температура'],
- aggfunc={'Время замера' : 'min', 'Температура' : 'first'})
- df_temp_first = df_temp_first.reset_index()
- df_temp_first.set_axis(['key', 'time_first','temp_first'], axis = 'columns', inplace = True)
- # объединяем таблицы
- df = df_temp_first.merge(df_temp_last, on='key', how='left')\
- .reindex(columns=['key', 'time_first', 'temp_first', 'time_last', 'temp_last'])
- df.info()
- <class 'pandas.core.frame.DataFrame'>
- Int64Index: 3215 entries, 0 to 3214
- Data columns (total 5 columns):
- # Column Non-Null Count Dtype
- --- ------ -------------- -----
- 0 key 3215 non-null int64
- 1 time_first 3215 non-null datetime64[ns]
- 2 temp_first 3215 non-null float64
- 3 time_last 3215 non-null datetime64[ns]
- 4 temp_last 3215 non-null float64
- dtypes: datetime64[ns](2), float64(2), int64(1)
- memory usage: 150.7 KB
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement