第一次询问的人道歉,如果在其他地方回答,我就是找不到它。
我有一个数据框,在一列中有一些百分比值,我想对<1%、1-2%、2-5%、5-10%和>10%的所有数据进行分组,并用这些值制作一个饼形图。我的dataframe中有一个列,它告诉我每一行进入哪个"bin“(df"Percent")。
我发现
percents = df["Percent"].value_counts()
percents
N/A 127
<±1% 28
±5-10% 14
>±10% 14
±1-2% 13
±2-5% 12
Name: Percent, dtype: int64
这让我获得了所需的信息,但在我的生命中无法将数据放入拼图中(除了仅手动复制数据,这将是愚蠢的)。
发布于 2021-07-12 07:27:31
您可以使用Pandas plot.pie
并使用labeldistance
和rotatelabels
将类别放置在图表内,让人觉得这些类别是由饼图函数计算出的百分比值。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(1245)
d = {
'Percent': np.random.choice(['N/A', '<±1%', '±1-2%', '±2-5%', '±5-10%', '>±10%'],
size=208, p=[0.6105,0.1346,0.0625,0.0578,0.0673,0.0673])
}
df = pd.DataFrame(d)
print(df)
percents = df["Percent"].value_counts()
print(percents)
percents.plot.pie(labeldistance=0.5, rotatelabels=True)
plt.show()
N/A 137
<±1% 22
±5-10% 14
>±10% 14
±1-2% 13
±2-5% 8
Name: Percent, dtype: int64
https://stackoverflow.com/questions/68137004
复制相似问题