首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在pandas中删除毫秒和腐蚀数据

如何在pandas中删除毫秒和腐蚀数据
EN

Stack Overflow用户
提问于 2020-10-09 17:26:02
回答 2查看 125关注 0票数 1

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

代码语言:javascript
复制
                 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
EN

回答 2

Stack Overflow用户

发布于 2020-10-09 18:11:15

首先我重新创建你的df

代码语言:javascript
复制
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时间作为列时间

代码语言:javascript
复制
df['Time'] = pd.to_datetime(df['Time'])

所以我可以使用floor方法来获得最多几分钟的时间

代码语言:javascript
复制
df['Time'] = df['Time'].dt.floor('s')

如果有重复的行,可以使用drop_duplicates方法将其移除

代码语言:javascript
复制
df.drop_duplicates(inplace=True)

我的输出:

票数 0
EN

Stack Overflow用户

发布于 2020-10-09 18:49:50

您所描述的内容看起来像是一个重新采样的问题。去重复,或者每秒只取最大值,不是我对待时间序列的方式。

下面我将创建一系列在2秒间隔内包含500个数据点的数据。这将每4毫秒创建大约1个数据点。

现在可以通过使用resample()简单地移动到第二个间隔。

代码语言:javascript
复制
import pandas as pd
import numpy as np

# create dummy data
df= pd.DataFrame({'time': pd.date_range(start="1/1/2020 10:00:00", end="1/1/2020 10:00:02", periods=500)})
df['ECG1'] = np.array([[i]*100 for i in [5.19, 5.2, 5.21, 5.22, 5.23]]).flatten()
df['ECG2'] = df['ECG1']+0.1
print(df.head(5))

# resample to 1s intervalls, taking the mean over the 1-s period
new_df = df.set_index('time').resample("1s").mean()
print(new_df)

这会产生以下结果:

代码语言:javascript
复制
                           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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64277282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档