行上指定范围内的单元格值

2024-04-27 03:15:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从指定的单元格范围中获取相应温度时间戳的温度值。 e、 g希望获得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条回答

如果您只是查找一个时间戳,并希望获得所有相应的温度:

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']

首先通过dayfirst=True参数^{}将列的valeus转换为datetimes,然后通过^{}中的^{}^{}对过滤列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

相关问题 更多 >