python-3.x - Pandas .resample 或 .asfreq 填充缺失的日期时间条目

标签 python-3.x pandas datetime

我有一个如下所示的数据框:

import pandas as pd
d = {'TransactionId' : pd.Series([633025, 634560],index = ['2018-01-07 22:30:00', '2018-01-08 19:00:00']),
 'Value' : pd.Series([677.06, 677.44], index = ['2018-01-07 22:30:00', '2018-01-08 19:00:00'])}
df = pd.DataFrame(d)
df.head()

一旦 TransactionId 633025 完成,值就会停止记录,直到下一个事务开始。我想在两次出现之间每 15 分钟添加一个日期时间索引值,TransactionId 为“NaN”,并向前填充 Value 列。我尝试使用 .resample 和 .asfreq 但没有任何运气;使用“15分钟”的时间段不会相应地修改数据帧。我怎样才能做到这一点?

最佳答案

首先,将索引设置为datetime,然后您可以使用.resample,然后使用.ffill

import pandas as pd

df.index = pd.to_datetime(df.index)
df = df.resample('15min').asfreq()
df['Value'] = df['Value'].ffill()

输出:

                     TransactionId   Value
2018-01-07 22:30:00       633025.0  677.06
2018-01-07 22:45:00            NaN  677.06
2018-01-07 23:00:00            NaN  677.06
2018-01-07 23:15:00            NaN  677.06
2018-01-07 23:30:00            NaN  677.06 
...
2018-01-08 18:00:00            NaN  677.06
2018-01-08 18:15:00            NaN  677.06
2018-01-08 18:30:00            NaN  677.06
2018-01-08 18:45:00            NaN  677.06
2018-01-08 19:00:00       634560.0  677.44

关于python-3.x - Pandas .resample 或 .asfreq 填充缺失的日期时间条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52370480/

相关文章:

python - 如何从fastapi中的另一个api调用一个api?

python - 绘制多索引 DataFrame 条形图,其中颜色由类别决定

python - 列出超出 SEC 网络爬虫范围的索引

java - 将字符串转换为纪元

Python 2 - 你会如何向上/向下舍入到最近的 6 分钟?

python-3.x - 将 '000111010010111' 拆分为 ['000' ,'111' ,'0' , 1',' 0 0',' 1',' 0x9'104] 15

python-3.x - 使用 PCA 降维,同时保留百分比方差

python - 对 Counter 字典中的值求和

python - 如何从另一个数据帧中选择非空行并随机获取其索引

r - 在 R 中将日期转换为 as.POSIXct 并减去两个日期