數據統計描述性分析


1、加載數據

點擊查看代碼
import pandas as pd
df = pd.read_excel("2020年中國大學排名.xlsx")

2、修改索引

df.set_index("學校名稱",inplace= True)

3、查看數據量

df.size

4、數據排序

4.1將數據按照總分升序排列,並展示前20個學校
備注:也就是看倒數20名啦

點擊查看代碼
df.sort_values('總分',ascending=True).head(20)
# ascending排序,Ture:升序,Fasle:降序
4.2 將數據按照 高端人才得分 降序排序,展示前 10 位
點擊查看代碼
# 方法一:sort_values()函數,排序
df.sort_values(by='高端人才得分',ascending=False).head(10)
# 方法二:nlargest()函數,
# nlargest()的優點就是能一次看到最大的幾行,而且不需要排序。
# nlargest()參數:第一個參數就是截取的行數。第二個參數就是依據的列名
df.nlargest(10,'高端人才得分')
4.3 分列排名

查看各項得分最高的學校名稱

點擊查看代碼
df.iloc[:,3:]
# iloc:通過行號來獲取數據,
# iloc[:,3:]取第三行之后的所有數據(原數據從第三行后為每項的得分情況,在進一步通過idxmax()取最大值)
# 在python中,有 .argmax() 和 .idxmax() 兩個函數,前者用於Series中,后者用於DataFrame中。
df.iloc[:,3:].idxmax()

5、數據計算:

mean():平均值
max():最大值
min():最小值
median():中位數
5.1 求某一列數據的某一個統計值:df['列名'].mean()
5.2 求多列數據的多個統計值:
例如:計算 總分、高端人才得分、辦學層次得分的最大最小值、中位數、均值

點擊查看代碼
df.agg({
    '總分':['max','min','median','mean'],
    '高端人才得分':['max','min','median','mean'],
    '辦學層次得分':['max','min','median','mean']
          })

5.3 統計所有的信息:
例:查看數值型數據的統計信息(均值、分位數等),並保留兩位小數
df.describe().round(2).T
5.4 分組統計
計算各省市總分均值
df.groupby(by='省市')['總分'].mean()
5.5 相關系數統計:
也就是相關系數矩陣,也就是每兩列之間的相關性系數
df.corr()
5.6 相關系數熱力圖
方法一:
df.corr().style.background_gradient(cmap='coolwarm').set_precision(2)
方法二:

點擊查看代碼
import seaborn as sns
import matplotlib.pyplot as plt
plt.figure(figsize = (9,6),dpi=100)
sns.set(font='SimHei') # 設置中文字體
sns.heatmap(df.corr().round(2),annot=True,cmap='RdBu')
plt.show()
5.7 頻率信息統計 計算各省市出現的次數 方法一:

df.省市.value_counts()
在pandas中,value_counts常用於數據表的計數及排序,它可以用來查看數據表中,指定列里有多少個不同的數據值,並計算每個不同值有在該列中的個數,同時還能根據需要進行排序。

df.groupby('省市')['省市'].count() # 通過groupby()函數分組,再統計次數
5.8 熱力地圖
結合 pyecharts 將各省市高校上榜數量進行地圖可視化

點擊查看代碼
from pyecharts import options as opts
from pyecharts.charts import Map
list1=list(pd.DataFrame(df.省市.value_counts()).index)
list2 = list(pd.DataFrame(df.省市.value_counts()).省市)

c = (
    Map()
    .add('', [list(z) for z in zip(list1,list2)], "china",is_map_symbol_show=False)
    .set_global_opts(
        title_opts=opts.TitleOpts(title="排名前100高校各省市占比"),
        visualmap_opts=opts.VisualMapOpts(max_=20),
           )
)
c.render_notebook()
![image](https://img2020.cnblogs.com/blog/1986558/202110/1986558-20211002154558120-1478483674.png)

5.9 繪制總分的直方圖、密度估計圖

點擊查看代碼
import seaborn as sns
sns.set(font='SimHei')
sns.distplot(df['總分'])


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM