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

我的公众号为:livandata

1、数据分析的内容:

          

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

 

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、数据导入部分:

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的数据:

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

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数据:


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()

讲直方图:

如何生成随机数:

#!/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)

如何创建子图:

如图区域如何实现:

#!/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()

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐