Python 选择具有定义日期时间的行并保存在CSV文件中
我给出了一个小数据框,如下所示:Python 选择具有定义日期时间的行并保存在CSV文件中,python,pandas,Python,Pandas,我给出了一个小数据框,如下所示: 在第一列中,给出了以毫秒为单位的“时间”。 在第二列A中,行中填充了数据 然后我想定义两次,比如: t1 = 00:00:01.500 t2 = 00:00:02.000 我的目标是从t1到t2剪切行,并将它们保存在CSV文件中 要将Unix历元时间转换为日期时间,我使用以下命令: pd.to_datetime(time_ms,unit='ms').dt.time 现在我不知道如何将t1和t2定义为日期时间。 我尝试将其作为一个字符串,并使用if条件进
在第一列中,给出了以毫秒为单位的“时间”。 在第二列A中,行中填充了数据
然后我想定义两次,比如:
t1 = 00:00:01.500
t2 = 00:00:02.000
我的目标是从t1到t2剪切行,并将它们保存在CSV文件中要将Unix历元时间转换为日期时间,我使用以下命令:
pd.to_datetime(time_ms,unit='ms').dt.time
现在我不知道如何将t1和t2定义为日期时间。
我尝试将其作为一个字符串,并使用if条件进行检查
time_ms=[]
对于df[“时间”]中的i:
如果i>=t1且i您已经将Unix Epox转换为datetime
,并且只获得time
df['time_ms'] = pd.to_datetime(df['time'], unit='ms').dt.time
现在,您必须将字符串“00:00:01.500”
转换为datetime
,并仅获取time
t1 = datetime.datetime.strptime("00:00:01.500", "%H:%M:%S.%f").time()
t2 = datetime.datetime.strptime("00:00:02.000", "%H:%M:%S.%f").time()
然后你可以过滤数据帧
result = df[ (t1 < df['time_ms']) & (df['time_ms'] < t2) ]
根据给定的输入,您是否可以发布预期的输出,即输出数据帧(用于保存)。您可以使用datetime.datetime.strtime(“00:00:01.500,“%H:%M:%S.%f”)
将t1和t2转换为日期时间。但是,将给定数据保留为历元时间并将t1和t2转换为历元时间格式可能更容易。您好,我遇到一个类型错误:“>=”在“float”和“datetime.datetime”实例之间不受支持
import pandas as pd
import datetime
df = pd.DataFrame({
'time': [0,1100,1200,1300,1400,1500,1600,1700,1800],
})
df['time_ms'] = pd.to_datetime(df['time'], unit='ms').dt.time
t1 = datetime.datetime.strptime("00:00:01.500", "%H:%M:%S.%f").time()
t2 = datetime.datetime.strptime("00:00:02.000", "%H:%M:%S.%f").time()
result = df[ (t1 < df['time_ms']) & (df['time_ms'] < t2) ]
print(result)
time time_ms
6 1600 00:00:01.600000
7 1700 00:00:01.700000
8 1800 00:00:01.800000