Python 填充数据框图中缺少的值
我得到了以下数据帧:Python 填充数据框图中缺少的值,python,pandas,Python,Pandas,我得到了以下数据帧: Month val count 0 1 A 1 1 1 M 1 2 2 M 2 3 3 B 3 4 3 M 5 5 5 B 1 按val使用pivot,如下所示: #以val为轴心 pivot(index='Month',c
Month val count
0 1 A 1
1 1 M 1
2 2 M 2
3 3 B 3
4 3 M 5
5 5 B 1
按val使用pivot,如下所示:
#以val为轴心
pivot(index='Month',columns='val',values='count').fillna(0).plot(marker='o',figsize=(14,5))
#绘图配置
plt.title(“每月搜索A、M和B的次数”)
plt.xlabel(“月”)
plt.xticks(arange(12),日历月[1:13],轮换=45)
plt.show()
获得以下曲线图:
问题是数据框中只有月份范围的值被填充。是否可以用0填充超出范围的其余值(月)?使用
reindex
-
df.pivot(index='Month', columns='val',values='count').reindex(range(1,13)).fillna(0)
reindex
将插入更多行,然后fillna(0)
将所有na
值填充为0。如果你在那之后策划,它会成功的
警告:所有颜色不会清晰可见
# Pivot by val
df.pivot(index='Month', columns='val',values='count').reindex(range(1,13)).fillna(0).plot(marker='o', figsize=(14,5))
# Plot configuration
plt.title("Number of monthly searches for A, M and B")
plt.xlabel("Month")
plt.xticks(arange(12), calendar.month_abbr[1:13], rotation=45)
plt.show()
谢谢,我终于使用了
reindex(arange(12))
,因为range(1,13)
将Jan留空了。