pandas導(dǎo)入文件
import numpy as np
import pandas as pd
# 導(dǎo)入csv
cvs = pd.read_csv('C:/Users/1duanrev/Desktop/CGS.csv')
#導(dǎo)入excel
excel = pd.read_excel('C:/Users/1duanrev/Desktop/CGS.xlsx')
# 導(dǎo)入數(shù)據(jù)庫的數(shù)據(jù)
import pymsql
conn = pymsql.connect(host = '127.0.0.1',user = 'root',passwd = 'root',db = 'choose_one_db')
command = 'select * from table' # 這里是查詢語句,查詢到需要讀取的數(shù)據(jù)
pd.read_sql(command,conn) # 第一個信息是查詢語句,的二個參數(shù)是連接信息
# 導(dǎo)入文本數(shù)據(jù)
pd.read_table('地址')
# 從網(wǎng)頁導(dǎo)入
pd.read_html('https://mosaic.app.corp/maximo/ui/login')
matplot基礎(chǔ)
折線圖散點圖使用plot模塊來作圖
# coding=utf-8
from matplotlib import pylab as pyl # 這個模塊用來做折線圖和散點圖
import numpy as np
x = [1,2,3,4,8]
y = [5,6,9,0,4]
繪制折線圖
pyl.plot(x,y,'-.') # 格式為第一個參數(shù)為x軸數(shù)據(jù),第二個數(shù)據(jù)為y軸數(shù)據(jù),第三個為展現(xiàn)形式(可選)
pyl.show() # 使用這個方法來展現(xiàn)

繪制散點圖
pyl.plot(x,y,'ob') # 更改顏色,如果只單純需要散點圖那么使用o就可以了
pyl.show()

樣式
點的顏色
更改為o 那么做散點圖
| 選項 | 意義 |
|---|---|
| c | cyan -青色 |
| r | red 紅色 |
| m | magente 品紅 |
| g | green 綠色 |
| b | blue 藍色 |
線條的樣式
| 選項 | 意義 |
|---|---|
| - | 普通的直線 |
| -- | 虛線 |
| -. | 一杠一點 |
| : | 細小的虛線 |
點的樣式
| 選項 | 意義 |
|---|---|
| s | 方形 |
| h | 六角形 |
| H | 六角形 |
| * | 星形 |
| + | 加號的形式 |
| x | x形 |
| d | 菱形 |
| D | 菱形 |
| p | 五角形狀 |
pyl.plot(x,y,'D')
pyl.show()

加頭信息
pyl.plot(x,y)
pyl.title('name')
pyl.xlabel('x')
pyl.ylabel('y')
pyl.show()

定義xy軸的長度
pyl.plot(x,y)
pyl.xlim(0,10) # 使用x/ylim 可以調(diào)整軸的長度
pyl.ylim(0,10)
(0, 10)
在同一個圖中繪制多個線段
在show之前再次繪制一個
x2 = [1,2,3,4,5,6,7]
y2 = [3,4,5,6,7,8,9]
pyl.plot(x2,y2)
pyl.show()

生成隨機數(shù)
第一個參數(shù)是最小值,第二個是最大值,第三個是生成隨機數(shù)的個數(shù)
np.random.randint(1,500,20)
array([439, 219, 187, 231, 155, 36, 41, 116, 442, 373, 116, 254, 209,
76, 44, 363, 313, 354, 404, 456])
生成正態(tài)分布的隨機數(shù)--narmal
np.random.normal(10,2,15) # 第一個參數(shù)是均數(shù),第二個是西格瑪,第三個是生成的個數(shù)
array([ 7.2860237 , 8.65732797, 12.24472963, 9.00486588,
10.99145481, 9.859746 , 13.33998504, 12.19089696,
10.89612418, 9.71554757, 9.16174088, 13.33029009,
9.93154049, 9.28937353, 13.01560685])
直方圖 hist
data = np.random.normal(60,1.0,1000) # 這是正態(tài)分布圖
pyl.hist(data)
pyl.show()

data1 = np.random.randint(1,50,100) # 這是隨機數(shù)
pyl.hist(data1) # 可以在hist中設(shè)置長寬高
pyl.plot(data1,'Y')
pyl.show()

sty = np.arange(0,50,2)
pyl.hist(data1,sty) # 取消輪廓histtype='stepfilled'
pyl.show()

from matplotlib import pylab as plt
x1 = [1,2,3,4,5,6]
y1 = [10,8,7,6,5,8]
y2 = [5,7,4,6,9,2]
'''
第一個是指第幾行,第二個是指這一行有幾列,第三個是指這一列的第幾個數(shù)據(jù)!
plt.subplot(3,2,1) 這里是指圖的第三行,有兩列,在地一列作圖
'''
plt.subplot(2,2,1) #行,列,當(dāng)前區(qū)域
plt.plot(x1,y1)
plt.subplot(2,2,2) #行,列,當(dāng)前區(qū)域
plt.plot(x1,y2)
plt.subplot(2,1,2) #行,列,當(dāng)前區(qū)域
plt.plot(x1,y2)
plt.show()

數(shù)據(jù)清洗的一些想法
數(shù)據(jù)清洗步驟:
- 發(fā)現(xiàn)數(shù)據(jù)
- 通過describe 和len 來發(fā)現(xiàn)數(shù)據(jù)
- 或者通過散點圖或者折線圖發(fā)現(xiàn)
- 異常值
- 可以視為缺失值
- 或者刪除
- 修補(平均數(shù),中位數(shù)等等)
- 缺失值
- 刪除,當(dāng)數(shù)據(jù)比較少的時候不建議這樣處理,這樣會導(dǎo)致數(shù)據(jù)的丟失
- 插補,給出比較正常的數(shù)據(jù),(均值,中位插補,眾數(shù)插補,固定插補,最近數(shù)據(jù)插補,回歸插補,拉格朗日插補,牛頓插補,分段插補等)
- 不處理