pandas导入文件
import numpy as np
import pandas as pd
# 导入csv
cvs = pd.read_csv('C:/Users/1duanrev/Desktop/CGS.csv')
#导入excel
excel = pd.read_excel('C:/Users/1duanrev/Desktop/CGS.xlsx')
# 导入数据库的数据
import pymsql
conn = pymsql.connect(host = '127.0.0.1',user = 'root',passwd = 'root',db = 'choose_one_db')
command = 'select * from table' # 这里是查询语句,查询到需要读取的数据
pd.read_sql(command,conn) # 第一个信息是查询语句,的二个参数是连接信息
# 导入文本数据
pd.read_table('地址')
# 从网页导入
pd.read_html('https://mosaic.app.corp/maximo/ui/login')
matplot基础
折线图散点图使用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,'-.') # 格式为第一个参数为x轴数据,第二个数据为y轴数据,第三个为展现形式(可选)
pyl.show() # 使用这个方法来展现
绘制散点图
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 可以调整轴的长度
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()
生成随机数
第一个参数是最小值,第二个是最大值,第三个是生成随机数的个数
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])
生成正态分布的随机数--narmal
np.random.normal(10,2,15) # 第一个参数是均数,第二个是西格玛,第三个是生成的个数
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) # 这是正态分布图
pyl.hist(data)
pyl.show()
data1 = np.random.randint(1,50,100) # 这是随机数
pyl.hist(data1) # 可以在hist中设置长宽高
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]
'''
第一个是指第几行,第二个是指这一行有几列,第三个是指这一列的第几个数据!
plt.subplot(3,2,1) 这里是指图的第三行,有两列,在地一列作图
'''
plt.subplot(2,2,1) #行,列,当前区域
plt.plot(x1,y1)
plt.subplot(2,2,2) #行,列,当前区域
plt.plot(x1,y2)
plt.subplot(2,1,2) #行,列,当前区域
plt.plot(x1,y2)
plt.show()
数据清洗的一些想法
数据清洗步骤:
- 发现数据
- 通过describe 和len 来发现数据
- 或者通过散点图或者折线图发现
- 异常值
- 可以视为缺失值
- 或者删除
- 修补(平均数,中位数等等)
- 缺失值
- 删除,当数据比较少的时候不建议这样处理,这样会导致数据的丢失
- 插补,给出比较正常的数据,(均值,中位插补,众数插补,固定插补,最近数据插补,回归插补,拉格朗日插补,牛顿插补,分段插补等)
- 不处理