python - 如何使用 pandas 填充缺失的时间数据

标签 python python-3.x pandas dataframe

我有一个如下所示的 pd 数据系列。由于某些原因,没有截至 2018-07-26 13:30:00 ~ 2018-08-03 15:45:00 的数据

13     2018-03-13 16:40:00      12   12.07          0       
14     2018-03-13 16:41:00      13   12.07          0       
15     2018-03-13 16:42:00      12   12.07          0       
 …
230000 2018-07-26 13:30:00      45   12.07          0
230001 2018-08-03 15:45:00      30   12.07          0
230002 ....
…

我想用 0 填充这些空白并尝试像这样的“pandas.Series.asfreq”

df1= df.asfreq("T",fill_value=0)
print(df1)

但它给了我一个奇怪的响应,如下所示。

1970-01-01       0    0    0

你能教我如何填写这些空白吗?

最佳答案

IIUC,我相信你需要使用 DataFrame.set_index首先,将索引设置为 datetime 列。

这是一个基本示例,但您可以将 'datetime_col' 替换为您自己的日期时间列的实际名称:

# If necessary, cast datetime column to correct dtype
# df['datetime_col'] = pd.to_datetime(df['datetime_col']) 

df_new = df.set_index('datetime_col').asfreq('T', fill_value=0).reset_index()

关于python - 如何使用 pandas 填充缺失的时间数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55781609/

相关文章:

python - 如何在 DataFrame 的 groupby 中增加行数

python - 如果字符串中的单词位于单词列表中,则替换该单词

python - 来自元组的任意嵌套字典

python - 将 df 的 col 中的每个元素从字符串转换为列表

python - 如何用pytorch做一个 "element by element in-place inverse"?

python - 求10名学生的平均成绩,并增加学生

python - 创建一个新的数据框,将每行的 k 个副本附加到自身

c++ - Google 和 Facebook 使用哪些前端和后端技术?

python - 在 Cython 模块中加载与链接

python - 从脚本导入与从模块导入有何不同?