數(shù)據(jù)處理pandas,matplot簡單用法

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ù)插補,回歸插補,拉格朗日插補,牛頓插補,分段插補等)
    • 不處理
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容