Python數(shù)據(jù)分析全貌

數(shù)據(jù)分析

數(shù)據(jù)分析相關(guān)知識(shí)

數(shù)據(jù)分析的目的

將雜亂無章的數(shù)據(jù)信息集中提煉出有用的數(shù)據(jù),從中找出研究對(duì)象內(nèi)在的規(guī)律。

數(shù)據(jù)分析的分類

描述性數(shù)據(jù)分析(70%——80%)

從一組數(shù)據(jù)中描述該組數(shù)據(jù)的集中和離散情況。主要對(duì)調(diào)查總體所有變量的有關(guān)數(shù)據(jù)做統(tǒng)計(jì)性分析罐柳。

對(duì)比分析法

平均分析法

交叉分析法

探索性數(shù)據(jù)分析

從海量的數(shù)據(jù)中去找出規(guī)律馋嗜,并產(chǎn)生分析模型和研究假設(shè)。

驗(yàn)證性數(shù)據(jù)分析

驗(yàn)證科研假設(shè)測(cè)試所需的條件是否達(dá)到采章,以保證驗(yàn)證性分析的可靠性。

什么是數(shù)據(jù)分析

狹義:從海量的數(shù)據(jù)中將潛藏的有價(jià)值的信息進(jìn)行提取壶辜,幫助企業(yè)和個(gè)人預(yù)測(cè)未來的趨勢(shì)和行為悯舟。

廣義:從用戶需求開始,包括信息提取砸民、處理抵怎、分析到我們的數(shù)據(jù)可視化及數(shù)據(jù)預(yù)測(cè)。

數(shù)據(jù)分析的過程

現(xiàn)狀分析

了解企業(yè)整體運(yùn)營情況岭参,通過數(shù)據(jù)指標(biāo)掌握企業(yè)運(yùn)營情況反惕,生成日?qǐng)?bào)、月報(bào)或周報(bào)的形式知道企業(yè)生產(chǎn)演侯。

原因分析

企業(yè)通過現(xiàn)狀分析的結(jié)果姿染,展開原因分析,對(duì)企業(yè)內(nèi)部進(jìn)行優(yōu)化調(diào)整蚌本。

預(yù)測(cè)分析

對(duì)企業(yè)未來的發(fā)展趨勢(shì)做預(yù)測(cè)盔粹,對(duì)企業(yè)提供參考和決策依據(jù)隘梨。

分析流程(技術(shù))

明確目標(biāo)與思路

數(shù)據(jù)收集

數(shù)據(jù)處理

數(shù)據(jù)分析

數(shù)據(jù)可視化

分析工具

Python

R

MATLAB

Java

Scala

numpy

數(shù)組的創(chuàng)建

np.array(object,stype=None,ndim=0)

object:可以是列表或元組

dtype:數(shù)組元素的數(shù)據(jù)類型

ndim:創(chuàng)建數(shù)組的最小維度

特殊數(shù)組的創(chuàng)建:

全0數(shù)組:zeros(shape,dtype.dtype=float)

shape:以元組形式存儲(chǔ)的維度信息

全1數(shù)組:ones(shape,dtype.dtype=float)

對(duì)角線為1的數(shù)組:eye(N, M=None, k=0)

N:行數(shù)

M:列數(shù)

k:對(duì)角線為1起始索引(列索引)

等差數(shù)組:

arange([start,] stop[, step,], dtype=None)

start: 起始值

stop:結(jié)束值(不包括)

step:步長

linspace(start,

? ? stop,

? ? num=50,

? ? endpoint=True,

? ? retstep=False,

? ? dtype=None,

? ? axis=0,)

start:起始值

stop:結(jié)束值(默認(rèn)包括)

num:數(shù)組元素個(gè)數(shù)

endpoint:當(dāng)值包括結(jié)束值舷嗡,當(dāng)值為False時(shí)不包括結(jié)束值

retstep:是否顯示公差轴猎,值為TUR額顯示公差

axis:軸,值為0時(shí)對(duì)縱向進(jìn)行操作进萄,值為1時(shí)對(duì)橫向進(jìn)行操作

等比數(shù)組:

logspace(start,

? ? stop,

? ? num=50,

? ? endpoint=True,

? ? base=10.0,

? ? dtype=None,

? ? axis=0,)

base:基數(shù)捻脖,logspace(0,9,10)表示從10的0次方到10的9次方之間產(chǎn)生10個(gè)等比數(shù)值,默認(rèn)基數(shù)為10中鼠,修改基數(shù)為a,表示a的0次方到a的9次方可婶。

隨機(jī)數(shù)組:

給定整數(shù)范圍生成指定個(gè)數(shù)的隨機(jī)數(shù)組

np.random.randint(low, high=None, size=None, dtype=int)

low:最小值

gigh:最大值

size:元素個(gè)數(shù)

0-1之間指定個(gè)數(shù)的隨機(jī)數(shù)組

np.random.random(size)

size:元素個(gè)數(shù)

常用屬性

ndim:數(shù)組的秩(維度)

shape:元組顯示的維度信息

size:數(shù)組元素個(gè)數(shù)

dtype:數(shù)組元素的數(shù)據(jù)類型

常用操作

切片

一維數(shù)組

數(shù)組名[start:stop:step]:左閉右開

二維數(shù)組

數(shù)組名[行切片,列切片]

索引

普通索引

一維數(shù)組

數(shù)組名[索引值]

二維數(shù)組

數(shù)組名[行索引援雇,列索引]

整數(shù)索引:從數(shù)組中根據(jù)行矛渴、列索引值找到多個(gè)元素

數(shù)組名[(多個(gè)行索引),(多個(gè)列索引)]

布爾索引:根據(jù)條件查找元素

數(shù)組名[結(jié)果為布爾的表達(dá)式]

花式索引:可改變順序查找行列數(shù)組值

數(shù)組名[np,ix_([行索引],[列索引])]

常用函數(shù)

基礎(chǔ)操作函數(shù)

astype(dtype):將數(shù)組轉(zhuǎn)換數(shù)據(jù)類型

reshape(shape):對(duì)數(shù)組進(jìn)行維度調(diào)整

transpose(arr):將數(shù)組進(jìn)行翻轉(zhuǎn),行列調(diào)換

concatenate((arr1,arr1,...),axis):將多個(gè)數(shù)組按照指定軸進(jìn)行連接

split(arr,num,axis):將數(shù)組按照指定軸和num切割份數(shù)進(jìn)行切分惫搏,

num:值為整數(shù)時(shí)具温,等分?jǐn)?shù)組

num:值為列表時(shí),按照索引切割數(shù)組

統(tǒng)計(jì)函數(shù)

sum(arr,axis=0):數(shù)組求和

mean(arr,axis=()):數(shù)組求算術(shù)平均值

averange(arr,weight):數(shù)組求加權(quán)平均值筐赔,weight(權(quán)重)

median(arr,axis=0):數(shù)組中位數(shù)

var(arr,axis):方差

std(arr,axis):標(biāo)準(zhǔn)差

min(arr,axis=0):最大值

min(arr,axis=0):最小值

ptp(arr,sxis=0):極差铣猩,最大值和最小值的差

cumprom(arr,axis=0):累計(jì)求和

cumprod(arr,axis=0):累計(jì)求積

查看數(shù)據(jù)的波動(dòng)情況(離散程度)

排序函數(shù)

sort(arr,axis=-1):對(duì)數(shù)組進(jìn)行升序排序

argsort(arr,axis):對(duì)數(shù)組排序顯示元素索引值

argmax(arr,axis):顯示數(shù)組中最大值所在的索引

argmin(arr,axis):顯示數(shù)組中最小值所在的索引

篩選函數(shù)

where(condition,[x,y])

1.where(c,x,y):c為條件,當(dāng)滿足條件時(shí)茴丰,從x數(shù)組中取值达皿,不滿足條件,從y中取值贿肩。

2.where(c):從數(shù)組中找出滿足條件c的元素峦椰,并顯示元素所在的索引

all(condtion):當(dāng)數(shù)組中所有元素都滿足條件時(shí),顯示為True汰规,否則為False

any(condtion):當(dāng)數(shù)組中只要有滿足條件的元素是顯示True们何,否則False

in1d(arr1,arr2):判斷arr1中與arr2中是否有重復(fù)值,并顯示重復(fù)值位置

pandas

pandas簡(jiǎn)介

pandas:python的數(shù)據(jù)分析包

特點(diǎn)

基于numpy的一種工具控轿,為數(shù)據(jù)分析業(yè)務(wù)而創(chuàng)建的。

納入了大量庫和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型拂封,提供了高效操作大型數(shù)據(jù)集所需的工具

提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法

安裝和導(dǎo)入

pip install pandas

import pandas as pd

pandas數(shù)據(jù)結(jié)構(gòu)

Series

簡(jiǎn)介

ndarray對(duì)象的升級(jí)茬射,是一個(gè)可以由用戶自定義索引的一維數(shù)組對(duì)象,由index和value兩部分組成冒签。

創(chuàng)建方法

Series(data,index,dtype,copy)

data:可以是列表在抛、元組、字典或ndarray對(duì)象

index:索引列表

dtype:數(shù)據(jù)數(shù)據(jù)類型

copy:當(dāng)值為False時(shí)萧恕,用于復(fù)制數(shù)據(jù)

索引

顯示索引

s[索引值]或s.iloc[索引值]

隱式索引

s[索引值]或s.loc[索引值]

當(dāng)索引值和索引名有相同名稱時(shí)刚梭,優(yōu)先顯示顯式索引內(nèi)容

切片

隱式切片

s[索引名start:索引名stop:setp]

s.iloc[索引名start:索引名stop:setp]

左閉右開

顯式切片

s[索引名start:索引名stop:setp]

s.loc[索引名start:索引名stop:setp]

左閉右閉

DataFarme

簡(jiǎn)介

是二維數(shù)據(jù)結(jié)構(gòu)肠阱,即數(shù)據(jù)行、列的表格方式排列朴读。由行索引index屹徘、列索引columns和數(shù)據(jù)values組成。

創(chuàng)建方法

DataFrame(data,index,columns,dtype,copy)

data:列表衅金、元組噪伊、字典、ndarry對(duì)象氮唯、csv數(shù)據(jù)鉴吹、sql數(shù)據(jù)、excel數(shù)據(jù)及html表格數(shù)據(jù)惩琉。

字典:鍵是列索引豆励,值以列表形式存儲(chǔ)的列下面的值

csv數(shù)據(jù):pd.read_csv('文件名',encoding瞒渠,usecols良蒸,skiprows)

encoding:編碼方式

usecols:從表格中選擇哪些列,元組形式

skiprows:從表格中跳過幾行

SQL數(shù)據(jù)

1.import pymysql

2.conn =pymysql.Connect(host,port,user,password,db,charset)

3.sql = ";"

4.read_sql(sql,conn)

index:行索引列表

columns:列索引列表

DataFrame(data,index,columns,dtype,copy)

常用屬性

T:行列轉(zhuǎn)換

index:獲取行索引

colimns:獲取列索引

values:獲取數(shù)據(jù)在孝,將DataFrame數(shù)據(jù)轉(zhuǎn)換為ndarry

ndim:獲取維度

shape:獲取維度信息

size:獲取元素個(gè)數(shù)

dtype:獲取元素的數(shù)據(jù)類型

head(n):獲取前n行數(shù)據(jù)

tail(n):獲取后n行數(shù)據(jù)

索引

列索引

df[’列索引名‘]或df.列索引名

注意:不能寫df[列索引值]

行列索引

先列后行

df[列索引][行索引]

df[列索引].loc/.iloc[行索引]

先行后列

df.loc/.iloc[行索引][列索引]

行索引

df.iloc[行索引值]或df.loc['行索引名']

注意:iloc和loc不能省

切片

df[行索引起始值:行索引結(jié)束值:步長]

注意:只做行切片诚啃,篩選部分列做列索引。

常用方法

sum(axis):分別對(duì)行私沮、列進(jìn)行求和始赎,結(jié)果為Series

cumsum(axis):累計(jì)求和,結(jié)果是DataFrame

prod(axis):對(duì)行仔燕、列進(jìn)行求積

cumprod(axis):累計(jì)求積

max(axis)/min(axis):最大值和最小值

var(axis)/std(axis):方差和標(biāo)準(zhǔn)差

mean(axis):求算數(shù)平均值

median(axis):求中位數(shù)

count(axis):非空值觀測(cè)

mode(axis):眾數(shù)造垛,模值,數(shù)據(jù)樣本中頻度最高的數(shù)晰搀。

describe(axis):數(shù)據(jù)進(jìn)行匯總統(tǒng)計(jì)

排序

sort_index(axis=0,

level=None,

ascending,inplace: 'bool' = False,

kind: 'str' = 'quicksort',

na_position: 'str' = 'last',

ignore_index: 'bool' = False)

axis:軸五辽,當(dāng)值為0時(shí),進(jìn)行縱向操作外恕,當(dāng)值為1時(shí)杆逗,進(jìn)行橫向操作

level:層次化索引,按哪個(gè)層次的索引進(jìn)行排序

axcending:排序方式鳞疲,當(dāng)值為False時(shí)降序排序

kind:排序類型罪郊,默認(rèn)快速排序法

na_position:當(dāng)索引中有NaN時(shí),它的顯示位置尚洽,默認(rèn)顯示在最后

ignore_index:對(duì)索引進(jìn)行重新排序(索引)

sort_values(axis=0,

ascending=True,

inplace=False,

kind='quicksort',

na_position='last',

ignore_index=False)

按值排序

數(shù)據(jù)的排序

concat(object,axis,keys,ignore_index,join)

object:對(duì)多張表對(duì)象進(jìn)行連接悔橄,并將表存儲(chǔ)為列表或元組

axis:軸,=0行連接,=1列連接

keys:為多張表定義表名癣疟,吧多個(gè)表名存儲(chǔ)在列表或元組中

ignore_index:當(dāng)值為True時(shí)為連接后的表重置索引

join:表連接方式挣柬,默認(rèn)outer,只有inner和outer

mere(left,right,on,how,left_on,right_on,left_index,right_index,sffixes)

left睛挚,right:連接的左表和右表

on:指定兩張表連接的列索引

how:連接方式

inner:內(nèi)連接(默認(rèn))

outer:外連接

left:左連接

right:右連接

cross:笛卡爾連接

left_on.right_on:當(dāng)兩張表中某個(gè)列索引含義相同但名稱不同時(shí)邪蛔,人為定義這兩個(gè)參數(shù)可將表按照這兩個(gè)索引進(jìn)行連接。

left_index,right_index:當(dāng)兩個(gè)表中無相同列索引時(shí)要將兩表連接竞川,設(shè)置這兩個(gè)參數(shù)值為True就可以進(jìn)行連接店溢。

suffixes:為兩個(gè)表相同列索引定義表名,必須與on同時(shí)使用

Pane1

maplotlib

數(shù)據(jù)清洗

機(jī)器學(xué)習(xí)sklearn

資料領(lǐng)取請(qǐng)移步公眾號(hào)“程序員森芋”

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末委乌,一起剝皮案震驚了整個(gè)濱河市床牧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌遭贸,老刑警劉巖戈咳,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異壕吹,居然都是意外死亡著蛙,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門耳贬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來踏堡,“玉大人,你說我怎么就攤上這事咒劲∏牦。” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵腐魂,是天一觀的道長帐偎。 經(jīng)常有香客問我,道長蛔屹,這世上最難降的妖魔是什么削樊? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮兔毒,結(jié)果婚禮上漫贞,老公的妹妹穿的比我還像新娘。我一直安慰自己育叁,他們只是感情好绕辖,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著擂红,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上昵骤,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天树碱,我揣著相機(jī)與錄音,去河邊找鬼变秦。 笑死成榜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蹦玫。 我是一名探鬼主播赎婚,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼樱溉!你這毒婦竟也來了挣输?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤福贞,失蹤者是張志新(化名)和其女友劉穎撩嚼,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挖帘,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡完丽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拇舀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逻族。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖骄崩,靈堂內(nèi)的尸體忽然破棺而出聘鳞,到底是詐尸還是另有隱情,我是刑警寧澤刁赖,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布搁痛,位于F島的核電站,受9級(jí)特大地震影響宇弛,放射性物質(zhì)發(fā)生泄漏鸡典。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一枪芒、第九天 我趴在偏房一處隱蔽的房頂上張望彻况。 院中可真熱鬧,春花似錦舅踪、人聲如沸纽甘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽悍赢。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間左权,已是汗流浹背皮胡。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留赏迟,地道東北人屡贺。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像锌杀,于是被迫代替她去往敵國和親甩栈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容