打印缺少日期值的时间序列信息

2024-09-19 23:45:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数据集:

dataset.head(7)
Transaction_date     Product   Product Code  Description    
2019-01-01           A         123           A123
2019-01-02           B         267           B267
2019-01-09           B         267           B267
2019-02-11           C         139           C139
2019-02-11           A         125           C125 
2019-02-12           C         139           C139
2019-02-12           A         123           A123

数据集存储有可用交易日期的交易信息。换句话说,并非所有日子都有数据可用。 最后,我想创建一个时间序列图,显示每天的事务数

到目前为止,我已经做了一个简单的计数图:

ax = sns.countplot(x=dataset["Transaction_date"],data=dataset)

这个图显示了交易发生的日期。但我更希望看到在绘图中没有发生交易的日期,最好显示为0

我已尝试以下操作,但检索到错误消息:

groupbydate = dataset.groupby("Transaction_date")
ax = sns.tsplot(x="Transaction_date",y="Product",data=groubydate.fillna(0))

但是我得到了错误 cannot label index with a null key 由于限制,我只能使用seaborn 0.8.1


Tags: 数据datadate错误code交易productax
2条回答

我相信reindex应该适合你:

# First convert the index to datetime
dataset.index = pd.DatetimeIndex(dataset.index)

# Then reindex! You can also select the min and max of the index for the limits
dataset= dataset.reindex(pd.date_range("2019-01-01", "2019-02-12"), fill_value="NaN")

可以使用^{}删除包含NaN值的行,然后绘制图表。例如:

dataset.dropna(thresh=2)

将删除至少有两个NaN值的所有行

您可能还希望使用^{}填充NaN值

相关问题 更多 >