天天看點

pandas入門--serise資料結構1.pandas 資料結構–serise資料結構series相關操作

1.pandas 資料結構–serise資料結構

Pandas 的資料結構主要有兩種:Series(一維) 和DataFrame(二維)

series相關操作

Series結構是基于NumPy的ndarray結構,是一個一維的矩陣

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

s1 = pd.Series([, , , , ])
print('無index參數:\n',s1)
s2 = pd.Series([, , , , ], 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({'a':,'b':,'c':,'f':,'e':})
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() #生成一個有五十個随機數數組
s = pd.Series(v)
s1 = s[[, , ]]#取出index為3,4,7的元素存為一個新Series
s2 = s[:]#取出index為0-5的元素
s3 = s[]#取出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 = [,,,,,, 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([,,,],index=[,,,])
s2=pd.Series([,,,])
s3=s1+s2
print(s3)
           
0    NaN
1    2.0
2    3.0
3    4.0
4    NaN
dtype: float64
           

< 原創文章,轉載請标明出處 >

繼續閱讀