Python 如何删除pandas中的毫秒和腐蚀数据

Python 如何删除pandas中的毫秒和腐蚀数据,python,pandas,time,Python,Pandas,Time,大家好,我是大熊猫的新成员,我有一个数十万行的ecg信号,因为它每毫秒测量一次。因此,我想修改数据,使其在几秒钟内,并删除毫秒和他们的腐蚀性心电信号 Time ECG1 ECG2 2020-10-09 15:55:49.004 -5.19 -5.19 2020-10-09 15:55:49.008 -5.19 -5.19 2020-10-09 15:55:49.012 -5.19 -5.19 首先,我重新创建您的df d={'Time':

大家好,我是大熊猫的新成员,我有一个数十万行的ecg信号,因为它每毫秒测量一次。因此,我想修改数据,使其在几秒钟内,并删除毫秒和他们的腐蚀性心电信号

                 Time    ECG1   ECG2
2020-10-09 15:55:49.004 -5.19   -5.19
2020-10-09 15:55:49.008 -5.19   -5.19
2020-10-09 15:55:49.012 -5.19   -5.19

首先,我重新创建您的df

d={'Time':['2020-10-09 15:55:49.004' , '2020-10-09 15:55:49.008', '2020-10-09 15:55:49.012'  ]  ,  'ECG1':[-5.19  , -5.19  ,-5.19  ] ,  'ECG2':[-5.19  ,-5.19  ,-5.19  ]}
df = pd.DataFrame(data=d)
然后我要datetime作为列时间

df['Time'] = pd.to_datetime(df['Time'])
因此,我可以使用floor方法获得最多分钟的时间

df['Time'] = df['Time'].dt.floor('s')
如果有重复的行,可以使用drop_duplicates方法删除它们

df.drop_duplicates(inplace=True)
我的输出:
首先,我重新创建您的df

d={'Time':['2020-10-09 15:55:49.004' , '2020-10-09 15:55:49.008', '2020-10-09 15:55:49.012'  ]  ,  'ECG1':[-5.19  , -5.19  ,-5.19  ] ,  'ECG2':[-5.19  ,-5.19  ,-5.19  ]}
df = pd.DataFrame(data=d)
然后我要datetime作为列时间

df['Time'] = pd.to_datetime(df['Time'])
因此,我可以使用floor方法获得最多分钟的时间

df['Time'] = df['Time'].dt.floor('s')
如果有重复的行,可以使用drop_duplicates方法删除它们

df.drop_duplicates(inplace=True)
我的输出:
您所描述的内容看起来像是一个重采样问题。重复数据消除,或者每秒只取最大值,不是我处理时间序列的方式

下面我创建了一系列500个数据点的数据,时间间隔为2秒。这将每4毫秒创建一个数据点

现在,只需使用即可移动到第二个间隔

这将产生:

                           time  ECG1  ECG2
0 2020-01-01 10:00:00.000000000  5.19  5.29
1 2020-01-01 10:00:00.004008016  5.19  5.29
2 2020-01-01 10:00:00.008016032  5.19  5.29
3 2020-01-01 10:00:00.012024048  5.19  5.29
4 2020-01-01 10:00:00.016032064  5.19  5.29
                         ECG1      ECG2
time                                   
2020-01-01 10:00:00  5.198000  5.298000
2020-01-01 10:00:01  5.221968  5.321968
2020-01-01 10:00:02  5.230000  5.330000

您所描述的内容看起来像是一个重采样问题。重复数据消除,或者每秒只取最大值,不是我处理时间序列的方式

下面我创建了一系列500个数据点的数据,时间间隔为2秒。这将每4毫秒创建一个数据点

现在,只需使用即可移动到第二个间隔

这将产生:

                           time  ECG1  ECG2
0 2020-01-01 10:00:00.000000000  5.19  5.29
1 2020-01-01 10:00:00.004008016  5.19  5.29
2 2020-01-01 10:00:00.008016032  5.19  5.29
3 2020-01-01 10:00:00.012024048  5.19  5.29
4 2020-01-01 10:00:00.016032064  5.19  5.29
                         ECG1      ECG2
time                                   
2020-01-01 10:00:00  5.198000  5.298000
2020-01-01 10:00:01  5.221968  5.321968
2020-01-01 10:00:02  5.230000  5.330000

请添加所需输出数据帧2020-10-09 15:55:49-5.19-5.19-2020-10-09 15:55:50-5.19-5.19-2020-10-09 15:55:51-5.19-5.19-5.19请添加所需输出数据帧2020-10-09 15:55:49-5.19-2020-10-09 15:55:50-5.19-5.19-2020-10-09 15:09 15:51-5.19此解决方案存在相同的问题,ECG1和ECG2的测量值在第二个间隔内切换时,每秒将有多个条目。此解决方案存在相同的问题,ECG1和ECG2的测量值在第二个间隔内切换时,每秒将有多个条目。