让我们描述一下我的问题
我从数据库中得到了很多数据。例如,它就像:
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个条形图,每个条形图代表一年的价格
对熊猫最好的方法是什么
目前,我正在遍历所有数据,找到正确的数据并填充新的数组,以便将新创建的数组放入绘图中。但这似乎不是理想的方式
所以问题是,如何得到我的轴的阴谋?你如何以最优雅的方式解决这个问题?就和熊猫在一起?可能吗
我很兴奋,非常感谢
将数据子集到
'Price'
行中,然后使用pivot
进行重塑,以便组织适合绘制条形图,为每个产品绘制一行,为每年绘制一列试试这个:
输出:
相关问题 更多 >
编程相关推荐