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