網(wǎng)站首頁 編程語言 正文
一、Pandas Series對象
Pandas 是基于 NumPy 設(shè)計(jì)實(shí)現(xiàn)的 Python 數(shù)據(jù)分析庫,Pandas 提供了大量的能讓我們高效處理數(shù)據(jù)的函數(shù)和方法,也納入了很多數(shù)據(jù)處理的庫以及一些數(shù)據(jù)模型,可以說非常強(qiáng)大。
可以使用以下命令進(jìn)行安裝:
conda install pandas # 或 pip install pandas
Series數(shù)據(jù)結(jié)構(gòu)
Pandas 最常用的數(shù)據(jù)結(jié)構(gòu)主要有兩種:Series 和 DataFrame,這篇文章主要介紹一下Series及如何創(chuàng)建Series對象。
Series 是一維數(shù)組,由一列索引index和一列值values組成,索引和值是一一對應(yīng)的,可以存儲(chǔ)不同種類的數(shù)據(jù)類型,字符串、布爾值、數(shù)字、Python對象等都可以。
創(chuàng)建Series對象
創(chuàng)建Series對象的格式如下:
s = pd.Series(data, index)
參數(shù)data為數(shù)據(jù),可以是字典、列表、Numpy的 ndarray 數(shù)組等;
參數(shù)index為索引,值必須唯一,類似于Python字典的鍵,可以不傳,默認(rèn)為從0開始遞增的整數(shù)。
從列表創(chuàng)建:
data = ["a", "b", "c", "d", "e"] s = pd.Series(data) s
從字典創(chuàng)建:
當(dāng)data為字典時(shí),如果沒有傳入索引的話,會(huì)按照字典的鍵來構(gòu)造索引,索引對應(yīng)的值就是字典的鍵對應(yīng)的值。
data = {"a": 1, "b": 2, "c": 3} s = pd.Series(data) s
結(jié)果輸出如下:
a ? ?1
b ? ?2
c ? ?3
dtype: int64
從 ndarray 數(shù)組創(chuàng)建:
ndarray 為Numpy 的數(shù)組類型,在Python數(shù)據(jù)分析?Numpy?的使用方法的文章已經(jīng)介紹過。
data = np.array([1, 2, 3, 4]) s = pd.Series(data) s
我們可以通過創(chuàng)建的Series對象,調(diào)用相應(yīng)的屬性和方法來進(jìn)行數(shù)據(jù)的處理分析等。下面繼續(xù)來看Series對象的基本操作
二、Series對象的基本操作
Series 常用屬性
- index:獲取索引
- values:獲取數(shù)組
- size:獲取元素?cái)?shù)量
- dtype:獲取對象的數(shù)據(jù)類型
獲取索引及修改索引:
data = ["a", "b", "c", "d"] s = pd.Series(data) print(s.index) s.index = ["A", "B", "C", "D"] print(s.index)
結(jié)果輸出如下:
RangeIndex(start=0, stop=4, step=1) Index(['A', 'B', 'C', 'D'], dtype='object')
指定索引對應(yīng)元素的獲取、修改及刪除:
Series 通過索引獲取、修改及刪除對應(yīng)元素和Python字典的操作有些類似,具體使用方法如下:
# 獲取數(shù)據(jù) print(s["A"]) # 修改數(shù)據(jù) s['A'] = 99 # 刪除數(shù)據(jù) s = s.drop("B") s
另外,Series 也支持通過篩選條件獲取數(shù)據(jù),例如獲取能被2整除的數(shù)據(jù):
data = np.array([1, 2, 3, 4]) s = pd.Series(data) s[s%2==0]
Series 切片:
Series 切片操作同Python列表的切面也是類似的,如下:
s[0:3]
表示取第0、1、2個(gè)數(shù)據(jù)。
也可以使用索引值來進(jìn)行切片,例如獲取索引值B-D的值:
s["B":"D"] 復(fù)制代碼
Series 常用方法
- head(n):返回前n行數(shù)據(jù),默認(rèn)前5行
- tail(n):返回后n行數(shù)據(jù),默認(rèn)后5行
- isnull()&nonull():判斷是否為空,返回True和False
- sort_values():排序,通過傳遞ascending參數(shù)來確定升序or降序,默認(rèn)為True,表示升序
- dropna():刪除空值
Series 運(yùn)算
統(tǒng)計(jì)信息:
可以通過describe()
方法獲取統(tǒng)計(jì)信息,如下:
也可以通過如下方法分別獲取:
- min():獲取最小值
- max():獲取最大值
- mean():獲取均值
- median():獲取中位數(shù)
- sum():獲取總和
- count():獲取總數(shù)
- ······
四則運(yùn)算:
s+2 # 對每個(gè)元素進(jìn)行+2 s*100 # 對每個(gè)元素乘100
也可以調(diào)用如下方法進(jìn)行:加法add()
、減法sub()
、乘法mul()
、除法div()
。
原文鏈接:https://juejin.cn/post/7084925907307069447
相關(guān)推薦
- 2022-11-26 Linux?top命令詳解_linux shell
- 2022-11-06 Golang常用包使用介紹_Golang
- 2021-11-26 Redis分布式鎖詳細(xì)介紹_Redis
- 2022-12-30 Golang反射獲取變量類型和值的方法詳解_Golang
- 2022-10-25 C++構(gòu)建函數(shù)使用介紹_C 語言
- 2023-04-27 Redisson分布式限流的實(shí)現(xiàn)原理解析_Redis
- 2023-12-09 出現(xiàn)錯(cuò)誤:SLF4J: Class path contains multiple SLF4J bin
- 2022-07-28 Python中列表(List)?的三種遍歷(序號(hào)和值)方法小結(jié)_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支