pandas入門 serise資料結構

2021-08-27 21:15:16 字數 2621 閱讀 3042

pandas 的資料結構主要有兩種:series(一維) 和dataframe(二維)

import pandas as pd #pandans 匯入
series結構是基於numpy的ndarray結構,是乙個一維的矩陣

①建立 :pd.series([list1],index=[list2])//以list1、2為引數,引數為一list;index為可選引數,若不填則預設index從0開始遞增;若添則index長度(list2的長度)需要與list1的長度相同

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

print('無index引數:\n',s1)

s2 = pd.series([1, 1, 1, 1, 1], index = ['a', 'b', 'c', 'd','e'])

print('有index引數:\n',s2)

無index引數:

0 1

1 2

2 3

3 4

4 5

dtype: int64

有index引數:

a 1

b 1

c 1

d 1

e 1

dtype: int64

可以通過字典直接指定index(如下)

s1 = pd.series()

print(s1)

a    3

b 4

c 5

f 6

e 8

dtype: int64

②取資料:

s[index]或者s[index的list]

取值操作類似於陣列

import numpy as np #引入numpy

v = np.random.random_sample(50) #生成乙個有五十個隨機數陣列

s = pd.series(v)

s1 = s[[3, 4, 7]]#取出index為3,4,7的元素存為乙個新series

s2 = s[0:5]#取出index為0-5的元素

s3 = s[23]#取出index為23的元素

print("s1\n",s1)

print("s2\n",s2)

print("s3\n",s3)

s1

3 0.294339

4 0.330900

7 0.131748

dtype: float64

s2 0 0.445026

1 0.460747

2 0.160297

3 0.294339

4 0.330900

dtype: float64

s3 0.5894105708117634

.head(n)和.tail(n)函式用法:

取出頭n行或尾n行,n為可選引數,若不填預設n取5

s = pd.series(v)

print(s.head(3))#取出s中前三組元素

print(s.tail())#取出s中後五組元素

s.len()/求s的長度;np.shape(s)/求矩陣形狀;v.unique()/出現不重複values值

v = [10,3,2,1,1,1, np.nan]#nan為非數字資料

s = pd.series(v)

print("len():",len(s))#長度

print("shape():",np.shape(s))#形狀

print("count():",s.count())#數值資料長度(不包含nan)

print("unique()",s.unique() )#出現不重複values值,**化成集合)

print("value_counts():\n",s.value_counts())#統計非重複資料的出現次數

len(): 7

shape(): (7,)

count(): 6

unique() [10. 3. 2. 1. nan]

value_counts():

1.0 3

2.0 1

3.0 1

10.0 1

dtype: int64

③加法:相同index的value相加,若index並非共有的則該index對應value變為nan

s1=pd.series([1,2,3,4],index=[1,2,3,4])

s2=pd.series([1,1,1,1])

s3=s1+s2

print(s3)

0    nan

1 2.0

2 3.0

3 4.0

4 nan

dtype: float64

Pandas 快速入門

pandas其實很簡單,共有三種資料結構。其中一維為series,二維為dataframe,三維為panel.先說series,numpy陣列,python列表等都可以生成series。它的結構分為兩部分,索引和值。獲取索引的方式為 index 方法,獲取值得方式為values 方法。而資料框又多乙...

pandas入門 十一

跟series中的值一樣,軸標籤也可以通過函式或對映進行轉換,從而得到乙個新的不同標籤的物件。軸還可以被就地修改,而無需新建乙個資料結構。跟series一樣,軸索引也有乙個map方法 將其賦值給index,這樣就可以對dataframe進行就地修改 想要建立資料集的轉換版 而不是修改原始資料 比較實...

pandas入門 十三

另一種常用於統計建模或機器學習的轉換方式是 將分類變數轉換為 啞變數 或 指標矩陣 dataframe的某一列中含有k個不同的值,則可以派生出乙個k列矩陣或 dataframe 其值全為1和0 pandas有乙個get dummies函式可以實現該功能。使用之前的乙個dataframe例子 給指標d...