python - 按多列对 Pandas Dataframe 进行分组以获得特定值
问题描述
让我们描述一下我的问题。
我从数据库中获取了大量数据。例如,它看起来像:
d = [
{'Tag': 'Weight', 'Value': 15, 'Product': 'Apple', 'Year': 2019 },
{'Tag': 'Weight', 'Value': 14, 'Product': 'Apple', 'Year': 2020 },
{'Tag': 'Weight', 'Value': 16, 'Product': 'Apple', 'Year': 2021 },
{'Tag': 'Weight', 'Value': 30, 'Product': 'Banana', 'Year': 2019 },
{'Tag': 'Weight', 'Value': 32, 'Product': 'Banana', 'Year': 2020 },
{'Tag': 'Weight', 'Value': 31, 'Product': 'Banana', 'Year': 2021 },
{'Tag': 'Weight', 'Value': 120, 'Product': 'Papaya', 'Year': 2019 },
{'Tag': 'Weight', 'Value': 140, 'Product': 'Papaya', 'Year': 2020 },
{'Tag': 'Weight', 'Value': 130, 'Product': 'Papaya', 'Year': 2021 },
{'Tag': 'Price', 'Value': 0.23, 'Product': 'Apple', 'Year': 2019 },
{'Tag': 'Price', 'Value': 0.23, 'Product': 'Apple', 'Year': 2020 },
{'Tag': 'Price', 'Value': 0.24, 'Product': 'Apple', 'Year': 2021 },
{'Tag': 'Price', 'Value': 0.81, 'Product': 'Banana', 'Year': 2019 },
{'Tag': 'Price', 'Value': 0.83, 'Product': 'Banana', 'Year': 2020 },
{'Tag': 'Price', 'Value': 0.9, 'Product': 'Banana', 'Year': 2021 },
{'Tag': 'Price', 'Value': 2.31, 'Product': 'Papaya', 'Year': 2019 },
{'Tag': 'Price', 'Value': 2.29, 'Product': 'Papaya', 'Year': 2020 },
{'Tag': 'Price', 'Value': 2.41, 'Product': 'Papaya', 'Year': 2021 }
]
我用这个命令创建了一个数据框:
df = pd.DataFrame(data = d)
然后数据看起来像:
Tag Value Product Year
0 Weight 15.00 Apple 2019
1 Weight 14.00 Apple 2020
2 Weight 16.00 Apple 2021
3 Weight 30.00 Banana 2019
4 Weight 32.00 Banana 2020
5 Weight 31.00 Banana 2021
6 Weight 120.00 Papaya 2019
...
到目前为止一切顺利。现在我想对这个数据框进行排序和过滤以制作漂亮的图。例如,我想显示过去几年的价格(Tag == 'Price')。这意味着在我的 X 轴上我想拥有所有产品,在 y 轴上我有相应的价格。例如,我希望每年都有一个单独的数据集,并标有那一年。在此条形图中的示例中,我为每种产品获得 3 个条形,每个代表一年的价格。
用熊猫做这件事的最好方法是什么?
目前我正在遍历所有数据,找到正确的数据并填充新数组,只是为了将新创建的数组放入我的绘图中。但这似乎不是理想的方式。
所以问题是,如何获得我的绘图轴?你是如何以最优雅的方式解决这个问题的?只用熊猫?可能的?
我很兴奋,非常感谢
解决方案
推荐阅读
- android - 当按下后退按钮时,我的应用程序会关闭最近的应用程序
- ruby-on-rails - 当我在模型中添加自定义验证时,RSpec 中的模型验证失败
- java - 如何在java中产生编译代码分段错误?
- c# - tfs 2018通过c#上传流程模板
- powershell - 使用 powershell 替换 .dtsConfig 中的值
- arrays - 如何在 wordpress 中反序列化此数据
- angular - 如果第一个用户已经登录,如何防止第二个用户在另一个选项卡上登录
- python - subprocess.run 简单场景失败
- jquery - codeigniter 验证不适用于 bootstrap 选择的下拉菜单
- angular - Angular 7:暂停正在进行的流式传输请求并在处理数据块时继续