Нахождение определенного минимального значения часа с помощью панд - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть фрейм данных, который выглядит следующим образом:

Date/Time               Volt        Current
2011-01-01 11:30:00     NaN         NaN
2011-01-01 11:35:00     NaN         NaN
2011-01-01 11:40:00     NaN         NaN
...
2011-01-01 12:30:00     NaN         NaN
2011-01-02 11:30:00     45          23
2011-01-02 11:35:00     31          34
2011-01-02 11:40:00     23          15
...
2011-01-02 12:30:00     13          1
2011-01-03 11:30:00     41          51
...
2011-01-03 12:25:00     14          5
2011-01-03 12:30:00     54          45
...
2011-01-04 11:30:00     45          -
2011-01-04 11:35:00     41          -
2011-01-04 11:40:00     -           4
...
2011-01-04 12:30:00     -           14

Фрейм данных имеет дату и время с 11:30:00 до 12:30:00 с интервалом в 5 минут.Я пытаюсь выяснить, как найти минимальное значение на основе столбца «Текущий» для каждого дня и скопировать всю строку.Мой ожидаемый результат должен выглядеть примерно так:

Date/Time               Volt        Current
2011-01-01              NaN         NaN
2011-01-02 12:30:00     13          1
2011-01-03 12:25:00     14          5
2011-01-04 11:40:00     NaN         4

Для строк со значением в текущем он скопирует всю строку минимального значения.Для строк с «NaN» в текущем, он будет копировать строку с NaN.

Обратите внимание, что некоторые данные в вольте / токе являются пустыми или с чертой.

Возможно ли это?

Спасибо.

1 Ответ

0 голосов
/ 21 сентября 2018

Пожалуйста, попробуйте,

df=df[df['Current'] != '-']
df.groupby(df['Date/Time'].dt.day).apply(lambda x:x.loc[x['Current'].astype(float).fillna(0).argmin(),:])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...