日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

【Pandas库】(2) Series的基本操作方法

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Pandas库】(2) Series的基本操作方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

各位同學好,今天和大家分享一下Pandas庫中Series的基本操作方法。

內容有:①檢查缺失值;②通過索引獲取數據;③布爾索引;④name屬性;⑤讀取前幾行數據;⑥讀取后幾行數據


首先我們先定義一個Series

import pandas as pd  #導入pandas庫
person = {"name":"阿強","age":21,"class":"一班"}  #定義一個字典person
# 生成一個Series,給它命名s1,以列表中給定的索引順序排序,其中索引'sex'對應的值為None
s1 = pd.Series(person,["name","age","class","sex"]) 


(1)檢查缺失值

? ? ? ? 方法: Series名.isnull() ?和 ?Series名.notnull() ??

? ? ? ? isnull()? ?判斷索引對應的值是否為空,若為空,返回True。語句返回值為Series類型。

? ? ? ??notnull() 判斷索引對應的值是否為非空,若為空,返回False。

? ? ? ? 如下圖所示,s1中索引'sex'對應的值為nan,因此用isnull()判斷后,s2接收返回值,'sex'的返回值是True,其余返回的都是False。并且s2為Series類型。

#(1)檢查缺失值
s2 = s1.isnull()   # isnull判斷值是否為空,空就返回一個True
s3 = s1.notnull()


(2)通過索引獲取數據

? ? ? ? 獲取索引的方法:Series名.index

? ? ? ? 獲取值的方法: ? Series名.values

#(2)通過索引獲取數據
m = s1.index   #獲取索引
n = s1.values  #獲取值

?2.1 獲取單個數據

① 通過下標獲取? ? ? ??Series名[索引號] ?

② 通過標簽名獲取 ? ?Series名[標簽名]

s4 = s1[1]   # 通過下標獲取數據
s5 = s1["age"]   # 通過標簽名獲取數據

2.2 獲取多個數據

① 通過下標獲取 ? ? ? Series名[[索引號1,索引號2]] ? ?#獲取索引號1和2對應的數據

② 通過標簽名獲取 ? ?Series名[[標簽名1,標簽名2]] ?

# 選取多個數據
s6 = s1[[1,3]]  #獲取索引為1行和3行的數據(0,1,2,3)
s7 = s1[["name","age"]]  #獲取索引為’name'和'age'行的數據

2.3 切片獲取數據

① 通過下標獲取? ? ? ??Series名[索引號1:索引號2]? ? ? #下標切片顧頭不顧尾

② 通過標簽名獲取 ? ?Series名[標簽名1:標簽名2]? ? ? #標簽名切片顧頭顧尾

# 切片取值
s8 = s1[1:3]   #下標切片顧頭不顧尾,獲取s1中1、2行數據
s9 = s1["name":"class"]  #標簽切片顧頭顧尾,獲取'name'、'age'、'class'行


(3)布爾索引 ?

????????Series名[條件判斷]

? ? ? ?布爾索引可理解為True和False。

? ? ? ?如下,我們定義了一個Series類型數據s10,下式中s10[s10>3]可理解為,s10中索引大于3的值為True,小于等于3的值為False。s10[True]會進行輸出,即找到s10中所有大于3的索引和值

import numpy as np
a1 = np.arange(1,6) #從1到5,步長為1,即1、2、3、4、5
s10 = pd.Series(a1,["a","b","c","d","e"]) 
#數組a1變成Series類型,改變索引名,由原來的0到4變成'a'到'e'
s11 = s10[s10>3]  #取出s10的值大于3的數據


(4)索引與數據的對應關系不被運算結果影響

? ? ? ? 讓Series類型乘以一個數,Series中的索引不會發生改變,但是所有的值都會乘以該數。數值計算會到后續章節再講,目前不需要掌握。

s12 = s10*2  #使對應數據都*2
#數據values發生變化,對應的索引不變


?(5)name屬性

? ? ? ? 改變對象的名稱? ? ? ??Series名.name = 自定義名稱

? ? ? ? 改變對象的索引名稱?Series名.index.name = 自定義名稱

? ? ? ? 如果不喜歡官方默認定義的對象名,可自定義

# name屬性
s10.name = "temp"  #對象名
s10.index.name = "year"  #對象索引名


(6)讀取前幾行數據

? ? ? ? 方法?Series名.head()? ? ? ? # 默認讀取前5行數據

? ? ? ? ?? ? ? ? ? ?Series名.head(n)? ? ??# 也可自己指定讀取前n行

? ? ? ? 如果數據量很大,可使用該方法讀取前幾行先看看

# 讀取前幾行數據,默認前5行
s13 = s10.head(2)


(7)讀取后幾行數據

????????方法??Series名.tail()? ? ? ?# 默認讀取后5行數據

? ? ? ? ? ? ?????????Series名.tail(n)? ? ?# 也可自己指定讀取后n行

# 讀取后幾行數據,默認后5行
s14 = s10.tail(3)


完整代碼如下:

#以下代碼均可運行
import pandas as pd  #導入pandas庫person = {"name":"阿強","age":21,"class":"一班"}  #定義一個字典person
# 生成一個Series,給它命名s1,以列表中給定的索引順序排序,其中索引'sex'對應的值為None
s1 = pd.Series(person,["name","age","class","sex"]) # Series基本用法#(1)檢查缺失值
#==1== Series名.isnull()  Series名.notnull()
# isnull判斷是否為空,空就返回一個True
s2 = s1.isnull()
s3 = s1.notnull()#(2)通過索引獲取數據
m = s1.index   #獲取索引
n = s1.values  #獲取值#==1== 通過下標獲取數據
s4 = s1[1]#==2== 通過標簽名獲取數據
s5 = s1["age"]#==3== 選取多個
s6 = s1[[1,3]]  #獲取索引為1行和3行的數據(0,1,2,3)
s7 = s1[["name","age"]]  #獲取索引為’name'和'age'行的數據#==4== 切片取值
s8 = s1[1:3]   #下標切片顧頭不顧尾,獲取s1中1、2行數據
s9 = s1["name":"class"]  #標簽切片顧頭顧尾,獲取'name'、'age'、'class'行#(3)布爾索引
import numpy as np
a1 = np.arange(1,6) #從1到5,步長為1,即1、2、3、4、5
s10 = pd.Series(a1,["a","b","c","d","e"]) 
#數組a1變成Series類型,改變索引名,由原來的0到4變成'a'到'e's11 = s10[s10>3]  #取出s10的值大于3的數據#(4)索引與數據的對應關系不被運算結果影響
s12 = s10*2  #使對應數據都*2
#數據values發生變化,對應的索引不變#(5)name屬性
print(s10)
s10.name = "temp"  #對象名
s10.index.name = "year"  #對象索引名
print(s10)#(6) Series名.head(n)
# 讀取前幾行數據,默認前5行
s13 = s10.head(2)#(7) Series名.tail(n)
# 讀取后幾行數據,默認后5行
s14 = s10.tail(3)


?

總結

以上是生活随笔為你收集整理的【Pandas库】(2) Series的基本操作方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。