国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python數(shù)據(jù)分析入門之pandas總結(jié)基礎(chǔ)(二)

verano / 3492人閱讀

摘要:一大熊貓世界來去自如的老生常談,從基礎(chǔ)來看,我們?nèi)匀魂P(guān)心對于與外部數(shù)據(jù)是如何交互的。函數(shù)受限制問題唯一重要的參數(shù),標(biāo)志著一個(gè)的第個(gè)頁將會被取出。數(shù)據(jù)分析入門之總結(jié)基礎(chǔ)一歡迎來翔的博客查看完成版。

一.大熊貓世界來去自如:Pandas的I/O

老生常談,從基礎(chǔ)來看,我們?nèi)匀魂P(guān)心pandas對于與外部數(shù)據(jù)是如何交互的。

1.1 結(jié)構(gòu)化數(shù)據(jù)輸入輸出

read_csv與to_csv 是?對輸?輸出的?具,read_csv直接返回pandas.DataFrame,?to_csv只要執(zhí)行命令即可寫文件

read_table:功能類似

read_fwf:操作fixed width file

read_excel與to_excel方便的與excel交互

header 表?數(shù)據(jù)中是否存在列名,如果在第0行就寫就寫0,并且開始讀數(shù)據(jù)時(shí)跳過相應(yīng)的行數(shù),不存在可以寫none

names 表示要用給定的列名來作為最終的列名

encoding 表?數(shù)據(jù)集的字符編碼,通常而言一份數(shù)據(jù)為了?便的進(jìn)??件傳輸都以utf-8作為標(biāo)準(zhǔn)

這里用的是自己的一個(gè)csv數(shù)據(jù),因?yàn)檎也坏絽⒖嫉倪@個(gè)pdf中的數(shù)據(jù)。

cnames=["經(jīng)度","緯度"]

taxidata2 = pd.read_csv("20140401.csv",header = 4,names=cnames,encoding="utf-8")

taxidata2

全部參數(shù)的請移步API:

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html#pandas.read_csv

這里介紹一些常用的參數(shù):

讀取處理:

skiprows:跳過?定的?數(shù)

nrows:僅讀取?定的?數(shù)

skipfooter:尾部有固定的?數(shù)永不讀取

skip_blank_lines:空?跳過

內(nèi)容處理:

sep/delimiter:分隔符很重要,常?的有逗號,空格和Tab(" ")

na_values:指定應(yīng)該被當(dāng)作na_values的數(shù)值

thousands:處理數(shù)值類型時(shí),每千位分隔符并不統(tǒng)? (1.234.567,89或者1,234,567.89都可能),此時(shí)要把字符串轉(zhuǎn)化為

數(shù)字需要指明千位分隔符

收尾處理:

index_col:將真實(shí)的某列(列的數(shù)?,甚?列名)當(dāng)作index

squeeze:僅讀到?列時(shí),不再保存為pandas.DataFrame?是pandas.Series

1.2 Excel ... ?

對于存儲著極為規(guī)整數(shù)據(jù)的Excel而言,其實(shí)是沒必要一定用Excel來存,盡管Pandas也十分友好的提供了I/O接口。

taxidata.to_excel("t0401.xlsx",encoding="utf-8")

taxidata_from_excel = pd.read_excel("t0401.xlsx",header=0, encoding="utf-8")

taxidata_from_excel

注意:當(dāng)你的xls文件行數(shù)很多超過65536時(shí),就會遇到錯(cuò)誤,解決辦法是將寫入的格式變?yōu)?b>xlsx。excel函數(shù)受限制問題

唯一重要的參數(shù):sheetname=k,標(biāo)志著一個(gè)excel的第k個(gè)sheet頁將會被取出。(從0開始)

1.3 半結(jié)構(gòu)化數(shù)據(jù)

JSON:網(wǎng)絡(luò)傳輸中常?的?種數(shù)據(jù)格式。

仔細(xì)看一下,實(shí)際上這就是我們平時(shí)收集到異源數(shù)據(jù)的風(fēng)格是一致的:

列名不能完全匹配

key可能并不唯一

元數(shù)據(jù)被保存在數(shù)據(jù)里

import json

json_data = [{"name":"Wang","sal":50000,"job":"VP"},

 {"name":"Zhang","job":"Manager","report":"VP"},

 {"name":"Li","sal":5000,"report":"IT"}]

data_employee = pd.read_json(json.dumps(json_data))

data_employee_ri = data_employee.reindex(columns=["name","job","sal","report"])

data_employee_ri

輸出結(jié)果:

二. 深入Pandas數(shù)據(jù)操縱

在前面部分的基礎(chǔ)上,數(shù)據(jù)會有更多種操縱方式:

通過列名、行index來取數(shù)據(jù),結(jié)合ix、iloc靈活的獲取數(shù)據(jù)的一個(gè)子集(第一部分已經(jīng)介紹)

按記錄拼接(就像Union All)或者關(guān)聯(lián)(join)

方便的統(tǒng)計(jì)函數(shù)與?定義函數(shù)映射

排序

缺失值處理

與Excel一樣靈活的數(shù)據(jù)透視表(在第四部分更詳細(xì)介紹)

2.1 數(shù)據(jù)集整合 2.1.1 橫向拼接:直接DataFrame
pd.DataFrame([np.random.rand(2),np.random.rand(2),np.random.rand(2)],columns=["C1","C2"])
2.1.2 橫向拼接:Concatenate
pd.concat([data_employee_ri,data_employee_ri,data_employee_ri])

輸出結(jié)果

2.1.3 縱向拼接:Merge

根據(jù)數(shù)據(jù)列關(guān)聯(lián),使用on關(guān)鍵字

可以指定一列或多列

可以使?left_on和right_on

pd.merge(data_employee_ri,data_employee_ri,on="name")

根據(jù)index關(guān)聯(lián),可以直接使用left_index和right_index

TIPS: 增加how關(guān)鍵字,并指定

how = "inner"

how = "left"

how = "right"

how = "outer"

結(jié)合how,可以看到merge基本再現(xiàn)了SQL應(yīng)有的功能,并保持代碼整潔

2.2 自定義函數(shù)映射
dataNumPy32 = np.asarray([("Japan","Tokyo",4000),("S.Korea","Seoul",1300),("China","Beijing",9100)])

DF32 = pd.DataFrame(dataNumPy32,columns=["nation","capital","GDP"])

DF32

2.2.1 map: 以相同規(guī)則將1列數(shù)據(jù)作1個(gè)映射,也就是進(jìn)行相同函數(shù)的處理
def GDP_Factorize(v):

    fv = np.float64(v)

    if fv > 6000.0:

         return "High"

    elif fv < 2000.0:

         return "Low"

    else:

         return "Medium"



DF32["GDP_Level"] = DF32["GDP"].map(GDP_Factorize)

DF32["NATION"] = DF32.nation.map(str.upper)

DF32

2.3 排序

sort: 按?列或者多列的值進(jìn)行行級排序

sort_index: 根據(jù)index?的取值進(jìn)行排序,而且可以根據(jù)axis決定是重排行還是列

2.3.1 sort
dataNumPy33 = np.asarray([("Japan","Tokyo",4000),("S.Korea","Seoul",1300),("China","Beijing",9100)])

DF33 = pd.DataFrame(dataNumPy33,columns=["nation","capital","GDP"])

DF33

DF33.sort(["capital","nation"],ascending=False)

ascending是降序的意思。

2.3.2 sort_index
DF33.sort_index(axis=1,ascending=True)

2.3.3 一個(gè)好用的功能:Rank
DF33.rank()

2.4 缺失數(shù)據(jù)處理

2.4.1 忽略缺失值:
DF34.mean(skipna=True)

不忽略缺失值的話,估計(jì)就不能計(jì)算均值了吧。

如果不想忽略缺失值的話,就需要祭出fillna了:

注:這里我在猜想,axis=1是不是就代表從的角度呢?還是得多讀書查資料呀。

三. “一組”大熊貓:Pandas的groupby

groupby的功能類似SQL的group by關(guān)鍵字:

Split-Apply-Combine

Split,就是按照規(guī)則分組

Apply,通過?定的agg函數(shù)來獲得輸?pd.Series返回?個(gè)值的效果

Combine,把結(jié)果收集起來

Pandas的groupby的靈活性:

分組的關(guān)鍵字可以來?于index,也可以來?于真實(shí)的列數(shù)據(jù)

分組規(guī)則可以通過?列或者多列

沒有具體數(shù)據(jù),截圖看一下吧,方便日后回憶。

分組可以快速實(shí)現(xiàn)MapReduce的邏輯

Map: 指定分組的列標(biāo)簽,不同的值就會被扔到不同的分組處理

Reduce: 輸入多個(gè)值,返回1個(gè)值,一般可以通過agg實(shí)現(xiàn),agg能接受1個(gè)函數(shù)

參考:

S1EP3_Pandas.pdf 不知道什么時(shí)候存到電腦里的資料,今天發(fā)現(xiàn)了它。感謝作者的資料。

Python數(shù)據(jù)分析入門之pandas總結(jié)基礎(chǔ)(一)

歡迎來Michael翔的博客查看完成版。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/37698.html

相關(guān)文章

  • 首次公開,整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時(shí)間永遠(yuǎn)都過得那么快,一晃從年注冊,到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評論0 收藏0
  • Python數(shù)據(jù)分析入門pandas總結(jié)基礎(chǔ)(一)

    摘要:整個(gè)序列級別的元數(shù)據(jù)信息當(dāng)數(shù)據(jù)序列以及本身有了名字,就可以更方便的進(jìn)行后續(xù)的數(shù)據(jù)關(guān)聯(lián)啦這里我感覺就是列名的作用。數(shù)據(jù)分析入門之總結(jié)基礎(chǔ)二歡迎來翔的博客查看完成版。 一. Series Series: pandas的長槍(數(shù)據(jù)表中的一列或一行,觀測向量,一維數(shù)組...) Series1 = pd.Series(np.random.randn(4)) print Series1,typ...

    alanoddsoff 評論0 收藏0
  • 【精華分享】:轉(zhuǎn)行數(shù)據(jù)分析的一份學(xué)習(xí)清單

    摘要:數(shù)據(jù)分析的發(fā)展方向一般有商業(yè)方向,行業(yè)分析業(yè)務(wù)方向,和機(jī)器學(xué)習(xí)數(shù)據(jù)挖掘方向。機(jī)器學(xué)習(xí)的書籍推薦統(tǒng)計(jì)學(xué)習(xí)方法,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí)實(shí)戰(zhàn)三本書。 作者:xiaoyu 微信公眾號:Python數(shù)據(jù)科學(xué) 知乎:python數(shù)據(jù)分析師 上一篇主要分享了博主親身轉(zhuǎn)行數(shù)據(jù)分析的經(jīng)歷: 【從零學(xué)起到成功轉(zhuǎn)行數(shù)據(jù)分析,我是怎么做的?】 本篇繼上一篇將分享轉(zhuǎn)行數(shù)據(jù)分析的一些經(jīng)驗(yàn)和學(xué)習(xí)方法,看完這篇你將會解...

    suemi 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<