Pandas的資料結構 Series

2021-08-20 18:41:31 字數 2949 閱讀 7825

values:一組資料

index:相關的資料索引標籤

由列表或numpy陣列建立 預設索引為0到n-1的整數型索引
import pandas as pd

import numpy as np

from pandas import series,dataframe

s1 = series([1,2,3,4,5])

s1n1 = np.array([1,2,3,4,5])

s2 = series(n1)

s2s3 = series(data=n1, index=['a','b','c','d','e'])

s3l1 = np.array([1,2,3,4,5])

s1 = series(data=l1)

s1[0] = 100

s1

#通過字典建立陣列

dic =

#字典生成的series是有序的 按鍵名排序

s = series(data=dic)

s

語文 150

數學 150

英語 150

理綜 300

dic1 = 

s = series(data=dic1)

sdata = np.array([150,150,150,300])

index = ['語文','數學','英語','理綜']

s1 = series(data=data,index=index)

s1

s1['語文']

s1[0]

#推薦使用.loc()

s1.loc['語文']

s1.loc[['語文','數學']]

s1.iloc[[0,1]]

s = series(data=np.random.randint(0,100,size=10))

ss[0:3]

s.loc[2:6] # 包括右邊 標籤索引將會將切片末端包含進去

練習2

使用多種方法對練習1建立的series s1進行索引和切片操作

索引:數學150

切片:語文 150 數學 150 英語 150

s1['數學']

s1[1]

s1.loc['數學']

s1.iloc[1]

s1[:3]

s1.loc[['語文','數學','英語']]

s1['語文':'英語']

s1.loc['語文':'英語']

# 位置索引不包含切片末尾

s1.iloc[:3]

# series的基本概念

# 可以把series看成乙個定長的有序字典

# 可以通過shape,size,index,values等得到series的屬性

s1.shape

s1.size

s1.index

#可以使用head()檢視前n個值

s1.head(2)

#可以使用tail()檢視後n個值

s1.tail(2)

#當索引沒有對應的值的時候,可能出現預設值--> nan

s1 = series(data=[1,2,3,4],index=list('abcd'))

s2 = series(data=[1,2,5,7],index=list('acde'))

s1 + s2

n1 = np.array([1,2,3,4])

n2 = np.array([1,2,3,5])

n1 + n2

np.nan + 5

#pandas的特性,可以自動處理none為np.nan

s3 = series(data=[1,2,3,none,4])

s3n1 = np.array([1,2,3,np.nan,4])

n1

# series的運算

#使用bool_list 訪問陣列物件

s = series(np.random.randint(0,100,size=5))

sbool_list = [true, false, true, false, true]

s[bool_list]

s1 + 10

#需求:建立乙個分數列表,求每個分數佔總分數的百分比

score = series(data=np.random.randint(0,150,size=10))

score

score/score.sum()

s1 = series(data=[1,2,3,4], index=list('abcd'))

s2 = series(data=[1,2,5,7], index=list('acde'))

#add()函式可以保留所有的index

s1.add(s2, fill_value=0)

data1 = np.random.randint(0,150,size=4)

index1 = ['yuwen','shuxue','yingyu','lizong']

data2 = np.random.randint(0,150,size=4)

index2 = ['yuwen','shuxue','yingyu','wenzong']

score1 = series(data=data1,index=index1)

score2 = series(data=data2,index=index2)

score1.add(score2, fill_value=0)

pandas資料結構

coding utf 8 pandas是numpy的公升級版,功能比numpy更高階 import pandas as pd import numpy as np pandas庫主要定義了兩種資料型別 series dataframe 通過乙個list列表構建乙個series資料 ser obj p...

Pandas資料結構

pandas處理以下三個資料結構 這些資料結構構建在numpy陣列之上,這意味著它們很快。考慮這些資料結構的最好方法是,較高維資料結構是其較低維資料結構的容器。例如,dataframe是series的容器,panel是dataframe的容器。資料結構 維數描述系列1 1d標記均勻陣列,大小不變。資...

pandas的資料結構 Series

要是用pandas,你首先得了解它的兩個主要資料結構 series和dataframe,這裡我將簡單介紹一下series series,python,pandas from pandas import series,dataframe import pandas as pd import numpy...