<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
pandas中包含了DataFrame和Series資料型別,分別表示二維資料結構和一維資料結構。
簡單的可以理解為Series為excel表的某一行或者列,DataFrame是多行多列的區域。
import pandas as pd import numpy as np s1 = pd.Series([1,2,3,'tom',True]) s2 = pd.Series(range(0, 10, 1)) print(s1) print(s2) print(type(s1), type(s2))
索引為陣列
s1 = pd.Series([1,2], index=["a", "b"]) s2 = pd.Series(range(10,15,1), index=list('ngjur')) s3 = pd.Series(range(100,110,2), index=range(4,9,1)) print(s1) print(s2) print(s3) print(s1["a"], s1[1]) #位置索引從0開始 print(s2["r"], s2[-2]) #位置索引從0開始,可以用和列表同樣的索引存取方式,-1表示最後一個元素 print(s3[4]) #當定義的索引為數位時,會覆蓋之前位置索引的方式,也就是說s3[0]到s3[3],s3[-1]將不能再存取。
a 1
b 2
dtype: int64
n 10
g 11
j 12
u 13
r 14
dtype: int64
4 100
5 102
6 104
7 106
8 108
dtype: int64
1 2
14 13
100
key為標籤索引,value為series的每個元素的值
s1 = pd.Series({'tom':'001', 'jack':'002'}) print(s1)
tom 001
jack 002
dtype: object
如果data是標量值,則必須提供索引
s1 = pd.Series(5, [0, 1, 2, "a"]) print(s1[[1, "a"]])
1 5
a 5
dtype: int64
series_name[],[]內可以為單個位置索引或者標籤索引,也可以為位置切片或者標籤切片,也可以為位置索引列表或者標籤索引列表
s1 = pd.Series({'tom':'001', 'jack':'002', "Jim":"003"}) s2 = s1[["tom", "jack"]] #使用標籤索引列表 s3 = s1[0:3] # 使用位置切片 s4 = s1["tom":"Jim"] #使用標籤切片 s5 = s1[[0,1]] print("s1-----n", s1["tom"], type(s1[1])) print("s2-----n", s2, type(s2)) #使用標籤索引列表 print("s3-----n", s3, type(s3)) #使用位置切片 print("s4-----n", s4, type(s4)) #使用標籤切片 print("s5-----n", s5, type(s5)) #使用位置索引列表
s1-----
001 <class 'str'>
s2-----
tom 001
jack 002
dtype: object <class 'pandas.core.series.Series'>
s3-----
tom 001
jack 002
Jim 003
dtype: object <class 'pandas.core.series.Series'>
s4-----
tom 001
jack 002
Jim 003
dtype: object <class 'pandas.core.series.Series'>
s5-----
tom 001
jack 002
dtype: object <class 'pandas.core.series.Series'>
s1 = pd.Series({'tom':'001', 'jack':'002', "Jim":"003"}) s2 = s1.values print("s2-----n", s2, type(s2)) s3 = pd.Series({'tom':90, 'jack':40, "Jim":100})
s2-----
['001' '002' '003'] <class 'numpy.ndarray'>
s2-----
[ 90 40 100] <class 'numpy.ndarray'>
series_name.index s1 = pd.Series(['tom', 'jack', "Jim"], [90, 100, 60]) print("s1-----n", s1, type(s1)) s1_index = s1.index print("s1_index-----n", s1_index, type(s1_index)) print("s1_name:", s1.name)
s1-----
90 tom
100 jack
60 Jim
dtype: object <class 'pandas.core.series.Series'>
s1_index-----
Int64Index([90, 100, 60], dtype='int64') <class 'pandas.core.indexes.numeric.Int64Index'>
s1_name----- None
如果 Series 用於生成 DataFrame,則 Series 的名稱將成為其索引或列名稱
s1 = pd.Series(np.arange(5), name='ABC',index=['a','b','c','d','e']) print(s1)
a 0
b 1
c 2
d 3
e 4
Name: ABC, dtype: int32
使用series_name.drop(),指明index,可以為標籤索引,或者多個標籤索引多個組成的列表,不能為位置索引,或者切片
Series資料刪除
s1 = pd.Series(np.arange(5), name='A',index=['a','b','c','d','e']) print(s1) # 單個值刪除,指明標籤索引 s1.drop('c',inplace=False) #inplace為False不改變原s1的內容 print("刪除單個值,不改變s1:n",s1) # 多個值刪除,指明標籤索引列表 s1.drop(['c','e'],inplace=False)
a 0
b 1
c 2
d 3
e 4
Name: A, dtype: int32
刪除單個值,不改變s1:
a 0
b 1
c 2
d 3
e 4
Name: A, dtype: int32a 0
b 1
d 3
Name: A, dtype: int32
# multiindex值的刪除 midx = pd.MultiIndex(levels=[['lama', 'cow', 'falcon'], ['speed', 'weight', 'length']], codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2]]) s1 = pd.Series([45, 200, 1.2, 30, 250, 1.5, 320, 1, 0.3], index=midx) print(s1) s1.drop(labels='weight', level=1)
lama speed 45.0
weight 200.0
length 1.2
cow speed 30.0
weight 250.0
length 1.5
falcon speed 320.0
weight 1.0
length 0.3
dtype: float64
lama speed 45.0
length 1.2
cow speed 30.0
length 1.5
falcon speed 320.0
length 0.3
dtype: float64
pop(x), 指定要pop的標籤索引
s1 = pd.Series([1, 2, 3], index=["a", "b", "c"]) s1.pop("a") print(s1)
b 2
c 3
dtype: int64
del s1[x], 指定要刪除的嗎標籤索引 s1 = pd.Series([1, 2, 3], index=["a", "b", "c"]) del s1["a"] print(s1)
b 2
c 3
dtype: int64
類似於字典中元素的新增方式
s1 = pd.Series([1, 2, 3], index=["a", "b", "c"]) s1["d"] = 4 print(s1)
a 1
b 2
c 3
d 4
dtype: int64
s1 =pd.Series(["北京", "上海", "臺灣", "香港"]) index_list =["a", "b", "c", "d"] s1.index = index_list print("s1-----------n", s1) s2 = pd.Series({"e": "廣州", "f": "深圳"}) print("s2-----------n", s2) s3 = s1.append(s2) print("s3-----------n", s3) print(s1) s4 = s1.append(s2, ignore_index=True) print("s4-----------n", s4)
s1-----------
a 北京
b 上海
c 臺灣
d 香港
dtype: object
s2-----------
e 廣州
f 深圳
dtype: object
s3-----------
a 北京
b 上海
c 臺灣
d 香港
e 廣州
f 深圳
dtype: object
a 北京
b 上海
c 臺灣
d 香港
dtype: object
s4-----------
0 北京
1 上海
2 臺灣
3 香港
4 廣州
5 深圳
dtype: object
到此這篇關於pandas資料型別之Series的具體使用的文章就介紹到這了,更多相關pandas Series內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45