數(shù)據(jù)分析之pandas的基本操作

哈嘍各位好啊
我是土豆哦

今天就來跟大家說一說數(shù)據(jù)分析其中一個(gè)庫
pandas

01
首先我們要了解一下什么是pandas
Pandas的名稱來自于面板數(shù)據(jù)(panel data)和Python數(shù)據(jù)分析(data analysis)。
Pandas是一個(gè)強(qiáng)大的分析結(jié)構(gòu)化數(shù)據(jù)的工具集,基于NumPy構(gòu)建,提供了 高級數(shù)據(jù)結(jié)構(gòu) 和 數(shù)據(jù)操作工具,它是使Python成為強(qiáng)大而高效的數(shù)據(jù)分析環(huán)境的重要因素之一。
一個(gè)強(qiáng)大的分析和操作大型結(jié)構(gòu)化數(shù)據(jù)集所需的工具集
基礎(chǔ)是NumPy,提供了高性能矩陣的運(yùn)算
提供了大量能夠快速便捷地處理數(shù)據(jù)的函數(shù)和方法
應(yīng)用于數(shù)據(jù)挖掘,數(shù)據(jù)分析
提供數(shù)據(jù)清洗功能

Series和DataFrame中的索引都是Index對象,索引對象不可變,保證了數(shù)據(jù)的安全
Index對象種類:Index,索引;Int64Index,整數(shù)索引;MultiIndex,層級索引;DatetimeIndex,時(shí)間戳類型
Pandas有兩個(gè)最主要也是最重要的數(shù)據(jù)結(jié)構(gòu):Series 和 DataFrame

pandas的基本數(shù)據(jù)結(jié)構(gòu)
目前,pandas的基本數(shù)據(jù)結(jié)構(gòu)有3種,Series,DataFrame和Pandel。要想熟練使用Pandas,這三種數(shù)據(jù)結(jié)構(gòu)一定要牢記于心。其中DataFrame使用頻率最高。
| 數(shù)據(jù)結(jié)構(gòu) | 維度 | 軸標(biāo)簽 |
| Series | 一維 | index(唯一的行) |
| DataFrame | 二維 | index(行)和columns(列) |
| Pandel | 三維 | items major_axis和 minor_axis |

Series
類似一維數(shù)組的對象
由數(shù)據(jù)和索引組成
索引(index)在左,數(shù)據(jù)(values)在右
索引是自動創(chuàng)建的

Series的相關(guān)操作
| 操作 | 代碼實(shí)現(xiàn) | 返回值 | 說明 |
| 獲取前n行數(shù)據(jù) | series.head(3) | 新Series | 獲取前三行,默認(rèn)獲取前五行 |
| 獲取后n行數(shù)據(jù) | series.tail(3) | 新Series | 獲取后三行,默認(rèn)獲取后五行 |
| 獲取index | series.index | RangeIndex | 獲取index |
| 獲取values | series.values | ndarray一維數(shù)組 | 獲取所有values |
| 運(yùn)算 | series * 2 | 新Series | 索引與數(shù)據(jù)的對應(yīng)關(guān)系不被運(yùn)算結(jié)果影響 |
| series > 15 | 新Series(bool) | ||
| name屬性 | series.name | 新Series | |
| series.index.name | 新Series | ||
| 利用index取值 | series[index] series['b'] | 對應(yīng)的value值 | |
| 利用index切片 | series[2:4] series['b':'d'] | 新Series | 按索引名切片操作時(shí),是包含終止索引的 |
| 不連續(xù)索引 | series[[0,2,4]] series[['b','d']] | 新Series | 注意是雙層中括號[[…,…,…,]] |
| 布爾索引 | series1 = series > 2 series2[series1] | 新Series |

DataFrame(Series容器)
DataFrame是一個(gè)表格型的數(shù)據(jù)結(jié)構(gòu),它含有一組有序的列,每列可以是不同類型的值。DataFrame既有行索引也有列索引,它可以被看做是由Series組成的字典(共用同一個(gè)索引),數(shù)據(jù)是以二維結(jié)構(gòu)存放的。
類似多維數(shù)組/表格數(shù)據(jù) (如,excel, R中的data.frame)
每列數(shù)據(jù)可以是不同的類型
索引包括列索引和行索引

DataFrame的相關(guān)操作
操作 | 代碼實(shí)現(xiàn) | 返回值 | 說明 |
獲取前n行 | dataframe.head(3) | 新DataFrame | 獲取前三行,默認(rèn)獲取前五行 |
獲取后n行 | dataframe.tail(3) | 新DataFrame | 獲取后三行,默認(rèn)獲取后五行 |
| shape | dataframe.shape | 元組 | 返回dataframe形狀 |
獲取index | dataframe.index | RangeIndex | 獲取index |
| columns | dataframe.columns | RangeIndex | DataFrame列索引列表 |
獲取values | dataframe.values | ndarray二維數(shù)組 | 獲取所有values |
獲取列數(shù)據(jù) | dataframe['A'] <=> dataframe.A | 新Series | 通過列索引獲取列數(shù)據(jù) |
| dataframe[['A']] | 新DataFrame(只有一列) | 注意是雙層中括號[[…,…,…,]] | |
增加列數(shù)據(jù) | dataframe['G'] = series dataframe['G'] = dataframe['A'] + 4 | 新DataFrame | 類似Python的dict添加key-value |
刪除列數(shù)據(jù) | del(dataframe['G']) | None | |
不連續(xù)索引 | dataframe[['a','c']] | 新DataFrame | 注意是雙層中括號[[…,…,…,]] |

呱唧呱唧
對于pandas這個(gè)庫的一些基礎(chǔ)我們就寫到這里啦
覺得不錯(cuò)的話別忘了給土豆一個(gè)三連哦
我們下期再見哦
需要學(xué)習(xí)資料的可以添加土豆的微信領(lǐng)取哦



內(nèi)容源自網(wǎng)絡(luò)
