天天看點

資料挖掘學習(一)——常用的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()

繼續閱讀