python - 在 Pandas DataFrame 图中填充缺失值
问题描述
我有以下熊猫 DataFrame :
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 :
# Pivot by val
df.pivot(index='Month', columns='val',values='count').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()
问题是仅填充了数据框中月份范围的值。是否可以用 0 填充范围之外的其余值(月)?
解决方案
使用reindex
-
df.pivot(index='Month', columns='val',values='count').reindex(range(1,13)).fillna(0)
reindex
将插入更多行,然后用 0fillna(0)
填充所有na
值。如果在此之后进行绘图,它将起到作用。
警告:所有颜色都不会清晰可见!
# 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()
推荐阅读
- node.js - 如何在更新猫鼬上设置 _id 引用
- corda - Corda:类 [Party] 和 [Party?] 有什么区别?
- presto - 是否可以重命名 Presto 视图?
- java - 如何使用用户输入创建一组新变量
- tfs - 活动目录名称更改仅传播到 TFS 中的 DisplayName
- python - 访问从客户端(角度)上传的文件服务器(python)端时出现 FileNotFoundError
- regex - 替换名字/姓氏的所有变体
- c++ - Opencv linemod 抛出匹配异常
- algorithm - 如何在数字列表中找到“奇数”
- javascript - 如何在 for 循环中访问子数组长度?