小编Tjs*_*s01的帖子

在 seaborn 条形图上显示计数

我有一个看起来像的数据框:

  User   A       B     C
   ABC   100    121   OPEN
   BCD   200    255   CLOSE
   BCD   500    134   OPEN
   DEF   600    125   CLOSE
   ABC   900    632   OPEN
   ABC   150    875   CLOSE
   DEF   690    146   OPEN
Run Code Online (Sandbox Code Playgroud)

我正在尝试在“用户”列上显示计数图。代码如下:

fig, ax1 = plt.subplots(figsize=(20,10))
graph = sns.countplot(ax=ax1,x='User', data=df)
graph.set_xticklabels(graph.get_xticklabels(),rotation=90)
for p in graph.patches:
    height = p.get_height()
    graph.text(p.get_x()+p.get_width()/2., height + 0.1,
        'Hello',ha="center")
Run Code Online (Sandbox Code Playgroud)

输出看起来像:

在此处输入图片说明

但是,我想用列“用户”的 value_counts 替换字符串“Hello”。当我添加代码以向图形添加标签时:

for p in graph.patches:
    height = p.get_height()
    graph.text(p.get_x()+p.get_width()/2., height + 0.1,
        df['User'].value_counts(),ha="center")
Run Code Online (Sandbox Code Playgroud)

我得到的输出为:

在此处输入图片说明

python matplotlib pandas seaborn

6
推荐指数
3
解决办法
9864
查看次数

增加饼图 matplotlib 中标签的字体大小

我有一个饼图,如下所示:

在此输入图像描述

我尝试使用 textprops={'fontsize': 18}) 增加字体大小。但是,它仅更改饼图内部百分比标签的字体大小,饼图外部的标签不受影响。

我想增加上面饼图中标签 A、B、C 等的字体大小。

我的代码:

fig1, ax1 = plt.subplots(figsize=(24,12))
flavor_pie = ax1.pie(data2.Count_Of_labels,labels=['A','B','C','D','E','F'], autopct='%.0f%%', shadow=True, colors=colors, 
                     explode= explode1, startangle= -90, textprops={'fontsize': 18})

centre_circle = plt.Circle((0,0),0.20,fc='white')
fig = plt.gcf()
fig.gca().add_artist(centre_circle)

ax1.axis('equal')  
plt.tight_layout()
plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib pie-chart

5
推荐指数
1
解决办法
1万
查看次数

Pandas:基于 pandas 列中匹配子字符串的 Groupby

我有一个包含以下元素的列表:

emails= ['xyz.com', 'abc.com','def.com']
Run Code Online (Sandbox Code Playgroud)

现在,我有一个数据框,如下所示:

df:

UserID    Email_Address
U001      u001@abc.com
U002      u002@xyz.com
U003      u003@xyz.com
U004      u004@abc.com
U004      u005@def.com
U006      u006@def.com
U007      u007@def.com
Run Code Online (Sandbox Code Playgroud)

我想根据子字符串对 groupby 执行计数,其中子字符串是列表中的元素。

因此,输出应如下所示:

abc.com     2
def.com     3
xyz.com     2
Run Code Online (Sandbox Code Playgroud)

我当前的代码:

for domain in list1:
    count = df.groupby( [df.Email_Address.str.find(domain)]).sum()
Run Code Online (Sandbox Code Playgroud)

python group-by dataframe pandas

1
推荐指数
1
解决办法
9162
查看次数

标签 统计

python ×3

matplotlib ×2

pandas ×2

dataframe ×1

group-by ×1

pie-chart ×1

seaborn ×1