Python 如何使用数据框根据另一列中的行名称创建四列饼图?

Python 如何使用数据框根据另一列中的行名称创建四列饼图?,python,pandas,jupyter-notebook,Python,Pandas,Jupyter Notebook,我想创建一个饼图,从熊猫数据框中显示阿伯丁郡和安格斯地区的独立柱、半独立柱、扁平柱和阶梯柱的价格 论文中的任务:“展示公寓、露台、独立式和半独立式公寓之间的销售价值差异 使用饼图在阿伯丁郡区域中拆离的特性,然后显示 这是给安格斯的。” 以下是我所做的: import pandas as pd from matplotlib import pyplot as plt import matplotlib.pyplot as plt df = pd.read_csv ('C:/Users/user/

我想创建一个饼图,从熊猫数据框中显示阿伯丁郡和安格斯地区的独立柱、半独立柱、扁平柱和阶梯柱的价格

论文中的任务:“展示公寓、露台、独立式和半独立式公寓之间的销售价值差异 使用饼图在阿伯丁郡区域中拆离的特性,然后显示 这是给安格斯的。”

以下是我所做的:

import pandas as pd
from matplotlib import pyplot as plt
import matplotlib.pyplot as plt

df = pd.read_csv ('C:/Users/user/AppData/Local/Programs/Python/Python39/Scripts/uk_hpi_dataset_2021_01.csv')

sales_value = df.loc[df['RegionName'] == 'Aberdeenshire', ['DetachedPrice', 'SemiDetachedPrice', 'FlatPrice', 'TerracedPrice']]

sales_value.plot(sales_value, kind='pie', subplots=True)
然而,当我试图打印结果时,我得到了四个奇怪的带有数字和颜色代码的单独列表——我认为它们代表了“RegionName”列中的所有“Aberdeenshire”行——但不是饼图。我可能已经接近答案了,但谁能帮我把它变成一个实际的饼图呢

任何答案都将不胜感激

您将您的文章标题为“如何创建饼图…”,因此我假设 您希望创建一个单一绘图,显示例如平均价格 在你的4个房屋类别中

作为我采用的源数据帧:

         Date     RegionName  DetachedPrice  SemiDetachedPrice  FlatPrice  TerracedPrice
0  01/01/2004  Aberdeenshire    122490.0641        70563.15784   60200.15       80300.22
1  01/02/2004  Aberdeenshire    121280.8840        70804.42408   60300.15       80500.22
2  01/03/2004  Aberdeenshire    123395.4269        72689.07253   60400.15       80800.22
3  01/01/2004      SomeOther    123500.4000        72000.07000   70400.15       77000.22
在你创造了销售价值之后,最好是降低价格 列名:

sales_value.columns = ['Detached', 'SemiDetached', 'Flat', 'Terraced']
然后,首先计算平均价格,然后再计算 创建绘图:

sales_value.mean().plot.pie(ylabel='', title='Mean house prices');
我认为不需要
子图
,因为您需要单个

ylabel='
需要抑制以其他方式打印的“无”标签

对于我的测试数据,我得到:


然后对Angus重复相同的过程。

平面,阶梯值是浮动的,对吗?如何使用浮点值创建饼图?请包含任何相关信息,不要链接或嵌入源代码或数据的外部图像。图像很难有效地帮助您,因为它们无法复制,并且由于无法搜索,可用性较差。请参阅:如果您需要帮助,请将数据帧的一个小样本格式化为可复制的代码,请参阅。非常感谢,我一定会查看并进行一些修改。出于某种原因,当我尝试运行此程序时,我收到一个错误,称为“长度不匹配”:预期轴有19个元素,新值有4个元素。然而,当我用以下代码重命名列时,
df.rename(columns={'DetachedPrice':'Detached','semidtachedPrice':'semidtached','FlatPrice':'Flat','treatedPrice':'treated'},inplace=True)
我设法得到了一个饼图,但它也包含了AveragePrice列的一个切片。显然,你的数据帧(绘图的源代码)有一些附加列。确保它只包含4列房屋类别。