Python數據分析實例

Python數據分析

Python爬取網頁數據

// An highlighted block
import requests
if __name__=="__main__":
    response = requests.get("https://book.douban.com/subject/26986954/")
    content = response.content.decode("utf-8")
    print(content)
// An highlighted block
import requests
url="https://pro.jd.com/mall/active/4BNKTNkRMHJ48QQ5LrUf6AsydtZ6/index.html"
try:
    r=requests.get(url)
    r.raise_for_status()
    r.encoding=r.apparent_encoding
    print(r.text[:100])
except:
    print("爬取失敗")

Python生成柱狀圖

// An highlighted block
import matplotlib.pyplot as plt  
  
num_list = [1.5,0.6,7.8,6]  
plt.bar(range(len(num_list)), num_list,color='rbgy')  
plt.show()  

在這裏插入圖片描述
Python生成堆狀柱狀圖

// An highlighted block
import matplotlib.pyplot as plt  
  
name_list = ['Monday','Tuesday','Friday','Sunday']  
num_list = [1.5,0.6,7.8,6]  
num_list1 = [1,2,3,1]  
plt.bar(range(len(num_list)), num_list, label='boy',fc = 'y')  
plt.bar(range(len(num_list)), num_list1, bottom=num_list, label='girl',tick_label = name_list,fc = 'r')  
plt.legend()  
plt.show()  

在這裏插入圖片描述
Python生成豎狀柱狀圖

// An highlighted block
import matplotlib.pyplot as plt  
  
name_list = ['Monday','Tuesday','Friday','Sunday']  
num_list = [1.5,0.6,7.8,6]  
num_list1 = [1,2,3,1]  
x =list(range(len(num_list)))  
total_width, n = 0.8, 2  
width = total_width / n  
  
plt.bar(x, num_list, width=width, label='boy',fc = 'y')  
for i in range(len(x)):  
    x[i] = x[i] + width  
plt.bar(x, num_list1, width=width, label='girl',tick_label = name_list,fc = 'r')  
plt.legend()  
plt.show()  

在這裏插入圖片描述
Python生成折線圖

// An highlighted block
import pandas as pd
import numpy as np
 
df = pd.DataFrame(np.random.rand(15, 4), columns=['a', 'b', 'c', 'd'])
df.plot.area() 

在這裏插入圖片描述
Python生成柱狀圖

// An highlighted block
import pandas as pd
import numpy as np
 
df = pd.DataFrame(3 * np.random.rand(5), index=['a', 'b', 'c', 'd','e'], columns=['x'])
df.plot.pie(subplots=True)

在這裏插入圖片描述
Python生成箱型圖

// An highlighted block
#首先導入基本的繪圖包
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

#添加成績表
plt.style.use("ggplot")
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.sans-serif']=['SimHei'] 

#新建一個空的DataFrame
df=pd.DataFrame()
// An highlighted block
df["英語"]=[76,90,97,71,70,93,86,83,78,85,81]
df["經濟數學"]=[65,95,51,74,78,63,91,82,75,71,55]
df["西方經濟學"]=[93,81,76,88,66,79,83,92,78,86,78]
df["計算機應用基礎"]=[85,78,81,95,70,67,82,72,80,81,77]
df
// An highlighted block
plt.boxplot(x=df.values,labels=df.columns,whis=1.5)
plt.show()

在這裏插入圖片描述

// An highlighted block
#用pandas自帶的畫圖工具更快
df.boxplot()
plt.show()

在這裏插入圖片描述
Python生成正態分佈圖

// An highlighted block
# -*- coding:utf-8 -*-
# Python實現正態分佈
# 繪製正態分佈概率密度函數
import numpy as np
import matplotlib.pyplot as plt
import math

u = 0  # 均值μ
u01 = -2
sig = math.sqrt(0.2)  # 標準差δ

x = np.linspace(u - 3 * sig, u + 3 * sig, 50)
y_sig = np.exp(-(x - u) ** 2 / (2 * sig ** 2)) / (math.sqrt(2 * math.pi) * sig)
print(x)
print("=" * 20)
print(y_sig)
plt.plot(x, y_sig, "r-", linewidth=2)
plt.grid(True)
plt.show()

在這裏插入圖片描述
喜歡的小夥伴可以嘗試一下哦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章