工作中需要处理一个比较大的数据,且当中需要分析的日期类型字段为字符串型,需要进行转换,获得一个新的字段用于时间统计。我们应用 datetime.datetime.strptime
函数进行转换。
数据读取与时间列补充代码如下:
import pandas as pd
import datetime
df = pd.read_csv('SCADA_HISTORY.csv')
# 给DataFrame增加一列标记时间
df['KM_DateTime'] = [datetime.datetime.strptime(datestr, '%d/%m/%Y %H:%M:%S') for datestr in df['KM_MDate']]
多条件查询数据集
选取数据集中 CODE
列中为 123456
,KM_DateTime
列大于等于 2022-07-01
的行。
filtered_data = df[(df['CODE'] == '123456') & (df['KM_DateTime'] >= datetime.datetime(2022, 7, 1))]
result = filtered_data.copy() # 复制供后续处理
查询某一天的数据
基于上述结果,查询某一天的数据并排序输出。
import matplotlib.pyplot as plt
data = result[(result['KM_DateTime'] >= datetime.datetime(2022, 8, 1)) & (result['KM_DateTime'] < datetime.datetime(2022, 8, 2)) ]\
.sort_values(by='KM_DateTime')
plt.figure(figsize=(20, 10))
plt.plot(data['KM_DateTime'], data['KM_MValue'])
plt.grid(axis='both', color='gray', linestyle='--', alpha=0.5)
plt.show()