你可以用
df2 = df.loc[df['Timestamp'].between(date1, date2)].sort_values(by=['Timestamp', 'group_Id'])
.between
如果已命名,则必须使用datetime对象才能正确处理datetime列。
sort_values
可以同时执行多个列。
如果不打算继续使用
df
也需要整理一下,在这种情况下,把它放在
数据框
.
import pandas as pd
from datetime import datetime
df = pd.DataFrame({
'Id': [5999, 6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007, 6008],
'Timestamp': ['8/1/19 00:00', '4/1/19 00:00', '1/1/19 00:00', '2/1/19 00:00', '3/1/19 00:00', '5/1/19 00:00', '6/1/19 00:00', '7/1/19 00:00', '9/1/19 00:00', '10/1/19 00:00'],
'Data': [25.5, 25, 27, 26.5, 25.5, 25, 37, 36.5, 30.5, 30],
'group_Id': [101, 101, 52, 52, 50, 50, 14, 14, 85, 85]
})
df['Timestamp'] = pd.to_datetime(df['Timestamp'], format='%m/%d/%y %H:%M')
date1 = datetime.strptime('2019-01-31', '%Y-%m-%d')
date2 = datetime.strptime('2019-07-31', '%Y-%m-%d')
df2 = df.loc[df['Timestamp'].between(date1, date2)].sort_values(by=['Timestamp', 'group_Id'])