[MySQL | Python] MySQL频数表、Python频数表
生活随笔
收集整理的這篇文章主要介紹了
[MySQL | Python] MySQL频数表、Python频数表
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
1 MySQL頻數(shù)頻率表
?1.1. 分類計(jì)數(shù)
?1.2 分類計(jì)數(shù)+匯總
?1.3 分類計(jì)數(shù)+匯總+百分比+降序
2. Python中頻數(shù)頻率表
?2.1 頻數(shù)頻率表
?2.2 頻數(shù)圖
?2.3 繪制餅圖
數(shù)據(jù)集:
名字:附件1
字段:股票代碼、所屬行業(yè)
條數(shù):4163條
1 MySQL頻數(shù)頻率表
?1.1. 分類計(jì)數(shù)
按所屬行業(yè)分類計(jì)數(shù) [SELECT 分組字段, 操作 FROM 表名 GROUP BY 分組字段]
SELECT a.`所屬行業(yè)`,count(a.`所屬行業(yè)`) FROM `附件1` AS a GROUP BY a.`所屬行業(yè)`;?1.2 分類計(jì)數(shù)+匯總
按所屬行業(yè)分類計(jì)數(shù),并計(jì)算總值。
+with rollup 后會再統(tǒng)計(jì)一行整數(shù),但沒有名字。
coalesce()函數(shù),原是用于空值處理;這里似乎只是增加命名。
SELECTCOALESCE(a.`所屬行業(yè)`,'總計(jì)'),COUNT(a.`所屬行業(yè)`) FROM`附件1` AS a GROUP BY a.`所屬行業(yè)` WITH ROLLUP;1.3 分類計(jì)數(shù)+匯總+百分比+降序
-- 分類匯總+總數(shù)+百分比+升序 -- SELECT count(*) FROM `附件1` --統(tǒng)計(jì)表格總行數(shù),輸出4163 SELECTCOALESCE(a.`所屬行業(yè)`,'總計(jì)') AS '行業(yè)',COUNT(a.`所屬行業(yè)`) AS '頻數(shù)',COUNT(a.`所屬行業(yè)`)/(SELECT count(*) FROM `附件1`)*100 AS '百分比%' FROM`附件1` AS a GROUP BY a.`所屬行業(yè)` with ROLLUP ORDER BYCOUNT(a.`所屬行業(yè)`);2. Python中頻數(shù)頻率表
2.1 頻數(shù)頻率表
#[Python]導(dǎo)入數(shù)據(jù) df1 = pd.read_excel('附件1.xlsx','Sheet1')#僅頻數(shù) F = df1['所屬行業(yè)'].value_counts() F = pd.DataFrame(F)#增加百分比列 F['百分比%'] = F.iloc[:,0]/df1.shape[0]*100 #增加匯總行 F.loc['總計(jì)'] = [sum(F['所屬行業(yè)']), sum(F['百分比%'])]?2.2 頻數(shù)圖
#由于要繪制頻數(shù)圖,刪去“總計(jì)”列 F = F.drop(index='總計(jì)')import matplotlib.pyplot as plt #導(dǎo)入包# 這兩行代碼解決 plt 中文顯示的問題 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False#繪圖條形圖 plt.bar(F.index, F['所屬行業(yè)']) plt.title('所屬行業(yè)頻數(shù)') plt.ylabel('頻數(shù)') plt.xticks(rotation=300) #標(biāo)簽傾斜300度#為每個條形圖添加數(shù)值標(biāo)簽 for x,y in enumerate(F['所屬行業(yè)']):plt.text(x,y+0.1,"%s"%round(y,0),ha='center') #round(y,1)是將y值四舍五入到一個小數(shù)位plt.show()?2.3 繪制餅圖
#繪制餅圖 import matplotlib.pyplot as plt #導(dǎo)入繪圖包# 這兩行代碼解決 plt 中文顯示的問題 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False #繪制餅圖 plt.pie(F['百分比%'],labels=F.index,autopct='%3.2f%%') #顯示3位整數(shù)兩位小數(shù) plt.title('所屬行業(yè)') #加標(biāo)題plt.show()總結(jié)
以上是生活随笔為你收集整理的[MySQL | Python] MySQL频数表、Python频数表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LCD工作原理及结构
- 下一篇: 已解决idea连接数据库异常:Excep