【发布时间】:2020-02-13 17:03:15
【问题描述】:
我尝试搜索所有数据帧都保持相同值(例如 1)的时间间隔(例如 1 分钟)。
给定 n 个可能具有不同时间戳的时间序列(df1、df2、df3、...)。时间序列具有离散状态值 0 和 1。从这些跳转函数中,我想生成一个值永远不应大于 1 的序列。我想以某种方式对所有帧求和并应用 max(x, 1)。
import pandas as pd
df1 = pd.DataFrame({'2018-01-01 00:00:00': [1],
'2018-01-01 00:01:00': [0],
'2018-01-01 00:03:00': [0],
'2018-01-01 00:04:00': [1]})
df2 = pd.DataFrame({'2018-01-01 00:00:00': [0],
'2018-01-01 00:01:30': [1],
'2018-01-01 00:03:00': [0],
'2018-01-01 00:04:30': [1]})
df3 = pd.DataFrame({'2018-01-01 00:00:00': [1],
'2018-01-01 00:01:15': [1],
'2018-01-01 00:03:00': [0],
'2018-01-01 00:04:45': [0]})
frames = [df1, df2, df3]
result = pd.concat(frames)
print(df1.add(df2.add(df3,axis="index",fill_value=0),axis="index",fill_value=0))
中间结果:
[3 rows x 8 columns]
2018-01-01 00:00:00 2018-01-01 00:01:00 2018-01-01 00:01:15 ... 2018-01-01 00:04:00 2018-01-01 00:04:30 2018-01-01 00:04:45
0 2 0.0 1.0 ... 1.0 1.0 0.0
我想有一种更舒适和直观的方式(concat、merge、join...)来做到这一点。我会把我的问题分成:
- 获得更多关于熊猫的知识:)
- 添加/求和数据帧/时间序列
- 让值 0 或 1
- 评估更改间隔的持续时间
【问题讨论】:
标签: python pandas time-series