为了账号安全,请及时绑定邮箱和手机立即绑定

计算 pandas 列中条目的频率,然后使用 X 轴字符串 labell 将它们绘制成图

计算 pandas 列中条目的频率,然后使用 X 轴字符串 labell 将它们绘制成图

子衿沉夜 2021-07-09 14:11:11
我有以下熊猫专栏:FuncGroupABCABCABCABCBCDBCDBCDSDSSDSABCBCDSDSBCD我想在熊猫数据框中获得这个预期的输出:pd['FunctionGroup','FunctionCount']ABC  4BCD  5SDS  3如何做到这一点,它是图形目的所必需的。编辑 1:通过参考以下答案,我对原始代码进行了一些修改以使用 plotly 进行绘图。现在绘制了所有计数,但 X 轴标签不会使用此方法出现,这就是我希望将标签和计数存储在 pd 中的原因。参考代码otrace1 =go.Bar(    #x=stock_opt_pe.index    x=datalist['Function group'].nunique(),    y=datalist['Function group'].value_counts(),    text=datalistFg, # dont know what to give here to get a X axis label    textposition = 'auto',    #xaxis-type (enumerated: “-” | “linear” | “log” | “date” | “category” )    #xaxis-type (enumerated: “-” | “linear” | “log” | “date” | “category” )    #name='Function Group Vx RespPerson',    #orientation = 'v',    #marker = dict(        #color = 'rgba(224, 224, 224, 0.6)',        #line = dict(            #color = 'rgba(246, 250, 206, 1.0)',            #color = 'rgb(60, 60, 60)',            #width = 0)    #))
查看完整描述

2 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

检查这是否适合您:


import pandas as pd

import plotly.plotly as py

示例 df:


raw =pd.DataFrame({'FuncGroup':[

'ABC',

'ABC',

'ABC',

'ABC',

'BCD',

'BCD',

'BCD',

'SDS',

'SDS',

'ABC',

'BCD',

'SDS',

'BCD']})

使用计数创建新的 df:


s = raw['FuncGroup'].value_counts() ## Counts the occurrence of unqiue elements and stores in a variable called "s" which is series type

new = pd.DataFrame({'FuncGroup':s.index, 'Count':s.values})  ## Converting series type to pandas df as plotly accepts dataframe as input. The two columns of df is FuncGroup which is being made by index of series and new variable called count which is made by values of series s.

创建绘图条形图:


py.iplot(new, filename='basic-bar')


查看完整回答
反对 回复 2021-07-21
?
森林海

TA贡献2011条经验 获得超2个赞

您可能正在寻找类似于collections counter.


df['FuncGroup'].value_counts()

对于绘图,请看这个例子:


import pandas as pd


df = pd.DataFrame({

    'FuncGroup': ['ABC','ABC','BCD']

})


s = df['FuncGroup'].value_counts()

s.plot(kind='bar')

dfout = df['FuncGroup'].value_counts().reset_index()

print(dfout)


#  index  FuncGroup

#0   ABC          2

#1   BCD          1

返回:

//img1.sycdn.imooc.com//60f7ca220001a4ee04860340.jpg

查看完整回答
反对 回复 2021-07-21
  • 2 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号