【发布时间】:2019-04-05 13:40:46
【问题描述】:
我有以下pandas 数据框:
import numpy as np
import pandas as pd
timestamps = [1, 14, 30]
data = dict(quantities=[1, 4, 9], e_quantities=[1, 2, 3])
df = pd.DataFrame(data=data, columns=data.keys(), index=timestamps)
看起来像这样:
quantities e_quantities
1 1 1
14 4 2
30 9 3
但是,timestamps 应该从 1 运行到 52:
index = pd.RangeIndex(1, 53)
以下行提供了缺少的timestamps:
series_fill = pd.Series(np.nan, index=index.difference(df.index)).sort_index()
如何让 quantities 和 e_quantities 列在这些缺失的时间戳处具有 NaN 值?
我试过了:
df = pd.concat([df, series_fill]).sort_index()
但它添加了另一列 (0) 并交换了原始数据框的顺序:
0 e_quantities quantities
1 NaN 1.0 1.0
2 NaN NaN NaN
3 NaN NaN NaN
感谢您的帮助。
【问题讨论】:
标签: python pandas dataframe missing-data