значение ячейки в указанном диапазоне по строкам - PullRequest
0 голосов
/ 27 мая 2020

Я хочу получить значение температуры для соответствующей отметки времени температуры из указанного диапазона ячеек. например, хотелось бы получить значение температуры соответствующей temperature_time_stamp с 27-04-2020 05:32 по 27-04-2020 05:33. Я использую pandas для чтения файла в python.

Temperature_TimeStamp   Temperature
27-04-2020 05:31        91.75
27-04-2020 05:31        91.73
27-04-2020 05:32        91.75
27-04-2020 05:32        91.73
27-04-2020 05:32        91.77
27-04-2020 05:33        91.73
27-04-2020 05:33        91.69
27-04-2020 05:34        91.69
27-04-2020 05:34        91.69

Ответы [ 2 ]

0 голосов
/ 27 мая 2020

Сначала преобразуйте значение столбца в дату и время на to_datetime с параметром dayfirst=True, а затем отфильтруйте по Series.between в boolean indexing с DataFrame.loc для столбца фильтра Temperature:

df['Temperature_TimeStamp'] = pd.to_datetime(df['Temperature_TimeStamp'], dayfirst=True)

mask = df['Temperature_TimeStamp'].between('2020-04-27 05:30:00','2020-04-27 05:32:00')
temp = df.loc[mask, 'Temperature']
print (temp)
0    91.75
1    91.73
2    91.75
3    91.73
4    91.77
Name: Temperature, dtype: float64
0 голосов
/ 27 мая 2020

Если вы просто ищете одну временную метку и хотите получить все соответствующие температуры:

timestamp = '27-04-2020 05:31'
mask = df.Temperature_TimeStamp.eq(timestamp)
df.loc[mask, 'Temperature']

Если вы хотите выбрать диапазон времени

# Make sure df['Temperature_TimeStamp'] is in datetime format
df['Temperature_TimeStamp'] = pd.to_datetime(df['Temperature_TimeStamp'])

start_time = pd.to_datetime('27-04-2020 05:30')
end_time = pd.to_datetime('27-04-2020 05:32')

mask = (df['Temperature_TimeStamp'] > start_time) & (df['Temperature_TimeStamp'] <= end_time)
df.loc[mask, 'Temperature']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...