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
< 原創文章,轉載請标明出處 >