天天看点

数据挖掘学习(一)——常用的python包

笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值,找寻数据的秘密,笔者认为,数据的价值不仅仅只体现在企业中,个人也可以体会到数据的魅力,用技术力量探索行为密码,让大数据助跑每一个人,欢迎直筒们关注我的公众号,大家一起讨论数据中的那些有趣的事情。

我的公众号为:livandata

数据挖掘学习(一)——常用的python包

1、数据分析的内容:

数据挖掘学习(一)——常用的python包
数据挖掘学习(一)——常用的python包
数据挖掘学习(一)——常用的python包

2、数据分析与挖掘的相关模块:

数据挖掘学习(一)——常用的python包
数据挖掘学习(一)——常用的python包

3、安装报错:

Import genism时会报错:Chunkize warning while installing gensim

此时需要在import genism前面加上:

UserWarning: detected Windows; aliasingchunkize to chunkize_serial

warnings.warn("detected Windows;aliasing chunkize to chunkize_serial")

解决方案: 

在import gensim前面加入:

import warnings

warnings.filterwarnings(action='ignore',category=UserWarning, module='gensim')

import gensim

numpy的最大功能是创建数组,创建数组的格式为:numpy.array([“a”,”f”,”e”])

#!/usr/bin/env python

# _*_ UTF-8 _*_

import numpy

#一维数组

x=numpy.array(['s','d','f'])

#二维数组[[],[],[]]

y=numpy.array([[3,13,23],[3,4,6],[2,3,5]])

#排序:sort()

x.sort()

y.sort()

#取最大值和最小值:

y1 = y.max()

y2 = y.min()

#切片:

#数组[起始下标:最终下标+1]

#例:x[1:3] #即取到1-2;

Pandas的使用:

#!/usr/bin/env python

# _*_ UTF-8 _*_

import pandas as pda

#series:代表一行或者一列

#一串数字即代表一个series,字符串前面会自动添加索引,如果不指定索引,则会0,1……往下添加。

#DataFrame:类似于表格,即行和列整合在一起的数据结构

#索引默认0,1,2,3

a = pda.Series([8,9,2,1])

#指定索引:

b = pda.Series([8,9,2,1], index=["one","two","three","four"])

#默认行列名

c = pda.DataFrame([[5,6,2,3],[8,4,6,3],[6,4,31,2]])

#指定行列名:

d = pda.DataFrame([[5,6,2,3],[8,4,6,3],[6,4,31,2]], columns=["one","two","three","four"])

#通过字典的方式来创建数据框:

e = pda.DataFrame({

    "one":4,    #如果数字不足,系统会自动填充。

    "two":[6,2,3],

    "three":list(str(982))

})

#头部数据,默认显示前五行,如果不够五行则取前五行。

d.head(5)

#取数据的后五行,默认五行:

d.tail()

#按列统计数据的情况,会显示多个统计值。

d.describe()

#转置:即将行变成列,将列变成行;

d.T

4、数据导入部分:

数据挖掘学习(一)——常用的python包

Csv文件格式问题经常会出现,对于常用的csv的文件,需要以utf-8的方式保存,即已另存为的方式保存为utf-8的csv文件格式。

其他方式会报错:编码失败的错误(以什么方式编码,就以什么方式解码)。

导入csv格式文件:

import pandas as pda

#导入csv格式的内容:

i = pda.read_csv("abc2.csv",  delimiter='\t')

print(i)

i.describe()

i.sort_values(by='A')

导入Excel文件:

#!/usr/bin/env python

# _*_ UTF-8 _*_

import pandas as pda

#导入Excel数据:

i = pda.read_excel('abc.xlsx')

print(i)

导入mysql的数据:

数据挖掘学习(一)——常用的python包

中间存在乱码问题,需要解决。

import pandas as pda

import pymysql

conn = pymysql.connect(host="127.0.0.1",

                       user="root",

                       passwd="123456",

                       db="livan")

sql = "select * from goods"

k = pda.read_sql(sql, conn)

print(k)

导入HTML数据:

数据挖掘学习(一)——常用的python包

import pandas as pda

#abc.html也可以更换成http://www.baidu.com等网页,只要网页中有table即可。

kl = pda.read_html("abc.html")

print(kl)

导入文本数据:

#!/usr/bin/env python

# _*_ UTF-8 _*_

import pandas as pda

ts = pda.read_table("abc.txt")

print(ts)

5、matplotlib的作图基础:

以基础的方式讲解,主要讲解折线图和散点图。

#!/usr/bin/env python

# _*_ UTF-8 _*_

import matplotlib.pylab as pyl

import numpy as npy

#折线图或者散点图matplotlib.pylab:

x = [1,2,3,4,8]

y = [5,7,2,1,5]

# 折线图:

# 一般会有几个参数,x轴的数据,Y轴的数据,展现形式;

#pyl.plot(x, y)

# pyl.show()

# 散点图:

#pyl.plot(x, y, 'o')

# pyl.show()

#改变颜色:

#c---cyan---青色;

#r---red---红色;

#m---magente---品红;

#g---green---绿色;

#b---blue---蓝色;

#y---yellow---黄色;

#k---black---黑色;

#w---white---白色;

#第三个参数可以叠加。

# pyl.plot(x, y, 'oc')

# pyl.show()

# 线条的样式:

#“-”普通的直线;

#“--” 代表虚线;

#“-.”-。的形式;

#“:”细小虚线。

# pyl.plot(x, y, '--')

# pyl.show()

#改变点的样式:

#s---方形;

#h---六角形;

#*---星型;

#+---加号的形式;

#x--x型;

#d---菱形;

# p---五角型

pyl.plot(x, y, '*')

# 同一副图上添加第二幅

x2 = [1,3,6,8,10,12,13,19]

y2 = [1,6,9,10,19,23,35,34]

pyl.plot(x2, y2)

pyl.plot()

# pyl.show()

# 标题,坐标等设置

pyl.title("show")

pyl.xlabel("ages")

pyl.ylabel("temp")

pyl.xlim(0,10)

pyl.ylim(0,8)

pyl.show()

讲直方图:

如何生成随机数:

数据挖掘学习(一)——常用的python包

#!/usr/bin/env python

# _*_ UTF-8 _*_

import matplotlib.pylab as pyl

import numpy as npy

# 直方图hist:

# (最小值,最大值,个数)

# data = npy.random.random_integers(1,20, 10)

#生成具有正态分布的随机数:

#(平均数, 标准差,个数)

data = npy.random.normal(10.0,1.0,10000)

data2 = npy.random.random_integers(1,25,10000)

# pyl.hist(data2)

#设置直方图的宽度,上限和下限参数为:(上限,下限,宽度)

sty = npy.arange(2, 17, 4)

#取消柱型轮廓:histtype='stepfilled'

pyl.hist(data, sty, histtype='stepfilled')

sty = pyl.show()

print(data)

如何创建子图:

数据挖掘学习(一)——常用的python包

如图区域如何实现:

#!/usr/bin/env python

# _*_ UTF-8 _*_

import matplotlib.pylab as pyl

import numpy as npy

#子图:同一个图片有多个图片:

#参数:(行,列,当前区域)

pyl.subplot(2,2,1)

x1=[1,2,3,4,5]

y1=[5,3,5,23,5]

pyl.plot(x1,y1)

pyl.subplot(2,2,2)

x2=[1,2,3,4,5]

y2=[5,3,5,23,5]

pyl.plot(x2,y2)

pyl.subplot(2,1,2)

x3=[1,2,3,4,5]

y3=[5,3,5,23,5]

pyl.plot(x3,y3)

pyl.show()

43、读取和讯博客的数据,并进行可视化分析:

#!/usr/bin/env python

# _*_ UTF-8 _*_

import matplotlib.pylab as pyl

import numpy as npy

import pandas as pda

data = pda.read_csv("F:/python_workspace/file/hexun.csv")

# # 查看各行列的详细内容[第几行][第几列]

# print(data.values)

# #取一行

# print(data.values[1])

# #取一个单元格

# print(data.values[1][1])

# print(data.shape)

# 取出一列的数据(取出第三列):

data2 = data.T

y1 = data2.values[3]

x1 = data2.values[4]

# pyl.plot(x1, y1)

# pyl.show()

x2 = data2.values[0]

pyl.plot(x2, y1)

pyl.show()

继续阅读