python - 绘制 DataFrame 的选择行和列(python)
问题描述
我已经四处搜索,但没有找到一个确切的方法来做到这一点。我有几个棒球队及其统计数据的数据框。如下所示:
RK TEAM GP AB R H 2B 3B HR TB RBI AVG OBP SLG OPS
1 Milwaukee 163 5542 754 1398 252 24 218 2352 711 .252.323 .424 .747
2 Chicago Cubs 163 5624 761 1453 286 34 167 2308 722 .258.333 .410 .744
3 LA Dodgers 163 5572 804 1394 296 33 235 2461 756 .250.333 .442 .774
4 Colorado 163 5541 780 1418 280 42 210 2412 748 .256.322 .435 .757
5 Baltimore 162 5507 622 1317 242 15 188 2153 593 .239.298 .391 .689
我希望能够在 X 轴上绘制两个团队,然后在 Y 轴上绘制 3 个指标(例如:R、H、TB),两个团队以条形图格式并排。我一直无法弄清楚如何做到这一点。有任何想法吗?
谢谢你。
解决方案
我的方法是创建一个新的数据框,它只包含您有兴趣绘制的列:
import pandas as pd
import matplotlib.pyplot as plt
data = [[1, 'Milwaukee', 163, 5542, 754, 1398, 252, 24, 218, 2352, 711, .252, .323, .424, .747],
[2, 'Chicago Cubs', 163, 5624, 761, 1453, 286, 34, 167, 2308, 722, .258, .333, .410, .744],
[3, 'LA Dodgers', 163, 5572, 804, 1394, 296, 33, 235, 2461, 756, .250, .333, .442, .774],
[4, 'Colorado', 163, 5541, 780, 1418, 280, 42, 210, 2412, 748, .256, .322, .435, .757],
[5, 'Baltimore', 162, 5507, 622, 1317, 242, 15, 188, 2153, 593, .239, .298, .391, .689]]
df = pd.DataFrame(data, columns=['RK', 'TEAM', 'GP', 'AB', 'R', 'H', '2B', '3B', 'HR', 'TB', 'RBI', 'AVG', 'OBP', 'SLG', 'OPS'])
dfplot = df[['TEAM', 'R', 'H', 'TB']].copy()
fig = plt.figure()
ax = fig.add_subplot(111)
width = 0.4
dfplot.plot(kind='bar', x='TEAM', ax=ax, width=width, position=1)
plt.show()
这将创建以下输出:
推荐阅读
- android - WorkManager 和 AlarmManager 一起工作的例子?
- sql - 将 xml 文件 l 导入到 sql developer
- c++ - 如何在 C++ 中修复“没有可行的重载 '='”
- android - Crashlytics 测试版:升级 apk 不同的签名
- jquery - 有没有办法访问事件冒泡树?
- c++ - 关于在 C++ 中创建公式的问题
- javascript - 不能在选择中使用动态分配的数据属性
- sql-server - SQL Server 事务日志
- java - 从图库中获取图像的可绘制地址并将它们存储在数组中
- java - Java JAX-RS CORS/Tomcat 冲突:javax.servlet.ServletException