python筆記

2020-08-13 10:28:08

一.簡單

1.匯入

說明

from(來自) 那個檔名 import(匯入)  類或者函數

例子

from cat import Cat,people  #從cat檔案匯入Cat和people類或者函數
from cat import * #從cat檔案匯入所有類
import cat #匯入這個檔案

實際應用

from random import choice  #獲取random的choice方法

2.字串

Ⅰ.首字母大寫

程式碼

a='ni hao';
a.title();

效果

'Python Abc'

Ⅱ.全部大寫或小寫

程式碼

a='Wi Wao';
a.upper();
a.lower();

效果

'WI WAO'
'wi wao'

Ⅲ.刪除空白

程式碼

a='  Python abc  ';
a.strip(); #兩頭都刪除空格
a.rstrip(); #刪除後面空格
a.lstrip(); #刪除前面空格

效果

'Python abc'
'  Python abc'
'Python abc  '

二.列表元組字典

1.列表

Ⅰ.列表的基本操作

是一個類似陣列的容器,但是存東西的能力強大,存取方式通過索引的方式

索引

程式碼

a=[' Python ','c++','java'];
a[0];
a[-1];
a[-2]; #逆序索引也是可以的呀
a[0].strip();

效果

' Python '
'java'
'c++'
'Python'

修改

程式碼

a=[' Python ','c++','java'];
a[0]='c#';
a;

效果

['c#', 'c++', 'java'];

擴充套件

a=[' Python ','c++','java'];
a.append('php');
a;

效果

['Python', 'c++', 'java','php']

插入(按位元置插入)

a=[' Python ','c++','java'];
a.insert(1,'php'); #注意插入的位置就是就是它最後所在位置
a;

效果

['Python', 'php', 'c++','java']

刪除

del 可以刪除變數或者元素,注意:del a直接把列表刪除了。

程式碼

a=[' Python ','c++','java'];
del a[1];
a;

效果

['Python','java']

彈出任意位置元素

程式碼

a=[' Python ','c++','java','C#','php','html'];
a.pop();    #預設最後一個
a.pop(0);
a.pop(-1);
a;

效果

['c++','java','c#']

刪除指定的字元

注意:只能刪除一個,多個就回圈

程式碼

a=[' Python ','html','html','C#','php','html'];
a.remove('html');
a.remove('html');
a

效果

[' Python ',C#','php','html']

Ⅱ.列表的組織

排序

注意:按照字母表排序,而且是根本性改變元組順序

程式碼

a=[' Python ','html','html','C#','php','html'];
a.sort();
a;

效果

[' Python ', 'C#', 'html', 'html', 'html', 'php']

反轉

程式碼

a=[' Python ','html','html','C#','php','html'];
a.reverse();
a;

效果

['html', 'php', 'C#', 'html', 'html', ' Python ']

長度

程式碼

a=[' Python ','html','html','C#','php','html'];
a.len();
a;

效果

6

Ⅲ操作列表

回圈

程式碼

a=[' Python ','html','html','C#','php','html'];
for _ in a:
    print(_);

效果

 Python 
html
html
C#
php
html

範圍range(開始,結束,步長)

程式碼

for _ in range(1,10,2):
    print(_);

效果

1
3
5
7
9

列表

程式碼

a=list(range(5));
a;

效果

[0, 1, 2, 3, 4]

應用

程式碼

a=[];
for i in range(1,30,2):
    a.append(i**2);
a;

效果

[1, 9, 25, 49, 81, 121, 169, 225, 289, 361, 441, 529, 625, 729, 841]

常見計算(最大最小和還有和)

程式碼

a=[0, 1, 2, 3, 4, 1, 16, 49, 100, 169, 256, 361, 484, 625, 784];
min(a);
max(a);
sum(a);

效果

0
784
2855

列表解析(a=[變數 回圈 條件])

程式碼

a=[t**2 for t in range(10) if t%2==1];
a;

效果

[1, 9, 25, 49, 81]

切片(劃分子集)

程式碼

a=[0, 1, 2, 3, 4, 1, 16, 49, 100, 169, 256, 361, 484, 625, 784]
a[1:4];
a[4:];      #到末尾
a[:5];      #重開頭開始
a[-3:];     #後3位
a[-3:-1]    #不包括-1

效果

[1, 2, 3]
[4, 1, 16, 49, 100, 169, 256, 361, 484, 625, 784]
[0, 1, 2, 3, 4]
[484, 625, 784]
[484, 625]

2.元組

Ⅰ. 元組的基本操作

元組既是不可變得列表

索引和修改

程式碼

a=(' Python ','c++','java');
a[0];
a[-1];
a[-2]; #逆序索引也是可以的呀
a[0]=123; #修改是不被允許的

效果

' Python '
'java'
'c++'
'Python'
Traceback (most recent call last):
  File "<pyshell#16>", line 1, in <module>
    a[0]='123'
TypeError: 'tuple' object does not support item assignment

3.字典

Ⅰ. 字典的基本操作

非數位索引關係,屬於鍵值對應關係

建立和索引

程式碼

a={'a':'python','b':'c++'};
a['a']

效果

'python'

新增

動態結構,隨時新增

程式碼

a={'a':'python','b':'c++'};
a['c']='java';
a;

效果

{'a': 'python', 'b': 'c++', 'c': 'java'}

修改

程式碼

a={'a': 'python', 'b': 'c++', 'c': 'java'};
a['c']='c#';
a;

效果

{'a': 'python', 'b': 'c++', 'c': 'c#'}

刪除

程式碼

a={'a':'python','b':'c++','c': 'java'};
del a['c'];
a;

效果

{'a': 'python', 'b': 'c++'}

Ⅱ. 字典的遍歷操作

items()

注意:items()的結果,也可以用這種方式定義字典

程式碼

a={'a':'python','b':'c++','c': 'java','d':'C#'};
a.items()
a;

效果

dict_items([('a', 'python'), ('b', 'c++'), ('c', 'java'), ('d', 'C#')])

字典定義

程式碼

dict([('a', 'python'), ('b', 'c++'), ('c', 'java'), ('d', 'C#')]);

效果

{'a': 'python', 'b': 'c++', 'c': 'java', 'd': 'C#'}

鍵值同時遍歷

程式碼

a={'a':'python','b':'c++','c': 'java','d':'C#'};
for i,j in a.items():
	print(i+'\t')
	print(j+'\n')

效果

a	
python

b	
c++

c	
java

d	
C#

遍歷鍵

程式碼

a={'a':'python','b':'c++','c': 'java','d':'C#'};
for i in a.keys():
	print(i)

效果

a	
b	
c	
d

遍歷值

注意:這裏使用了set(),集合是沒有順序的,值也是唯一的

程式碼

a={'a':'python','b':'c++','c': 'java','d':'c++'};
for i in set(a.values()):
	print(i)

效果

c++
java
python

Ⅲ. 字典的巢狀操作

列表含字典

程式碼

result=[];
for i in range(5):
	a={'a':'1','b':'2','c':'3'}
	result.append(a)
result;

效果

[{'a': '1', 'b': '2', 'c': '3'}, {'a': '1', 'b': '2', 'c': '3'}, {'a': '1', 'b': '2', 'c': '3'}, {'a': '1', 'b': '2', 'c': '3'}, {'a': '1', 'b': '2', 'c': '3'}]

字典含列表

程式碼

f_l={'a': ['python', 'c++'], 'b': ['c', 'c++', 'python'], 'c': ['java']};
for i,j in f_l.items():
	for k in j:
		print(i+' like '+k)
	print('\n')

效果

a like python
a like c++


b like c
b like c++
b like python


c like java

字典含字典

程式碼

user={
    'a':{
            'name':'aa',
            'ad':'hu',
            'tel':'123'

        },
    'b':{
            'name':'bb',
            'ad':'sd',
            'tel':'32'
        }

}

for i,j in user.items():
    print('user '+i);
    for a,b in j.items():
        print('his '+a+' is '+b);

效果

user a
his name is aa
his ad is hu
his tel is 123
user b
his name is bb
his ad is sd
his tel is 32

三.類

顧名思義,類就是一類的集合體,包含屬性和方法

1.建立一個類

程式碼

class dog():

    #self指的內部使用的變數
    
    def __init__(self,name='papi',age=4):
        self.n=name
        self.a=age

    def talk(self):
        print('wo wo my name is '+self.n)
        print('my age is',self.a)
        
    def active(self):
        print('打滾')

dog1 = dog()
dog1.talk()
dog1.active()

print('\n')

dog2 = dog('a',2)
dog2.talk()
dog2.active()

效果

wo wo my name is papi
my age is 4
打滾


wo wo my name is a
my age is 2
打滾

2.內部屬性的使用

想要修改內部屬性的值,可以範例化後呼叫修改,或者寫內建方法修改

程式碼

class dog():

    #self指的內部使用的變數
    
    def __init__(self,name='papi',age=4):
        self.n=name
        #注意內部屬性是可以在範例化後呼叫的
        self.a=age

    def talk(self):
        print('wo wo my name is '+self.n)
        print('my age is',self.a)
        
    def active(self):
        print('打滾')

dog1 = dog()
print(dog1.n)

效果

papi

3.繼承

就是你爹有啥你也有啥,而且你比你爹更優秀

程式碼

    class dog():
    def __init__(self,name='papi',age=4):
        self.name=name
        self.age=age
    def got_name(self):
        print('myname')
    
    def talk(self):
        print('wo wo my name is '+self.n)
        print('my age is',self.a)
        
    def active(self):
        print('打滾')

        

class white_dog(dog):

    #看這裏的繼承方法
    def __init__(self,name,age):
        super().__init__(name,age)

        #新增特有屬性 
        self.abc=10

    #重寫父類別方法
    def got_name(self):
        print('myname '+self.name)

    def got_year(self):
        print('myyear '+self.year)

    #定義新方法
    def got_ismao(self):
        print('子類屬性')

test=white_dog('kk',12);
print(test.abc)
test.got_name()
test.got_ismao()

效果

10
myname kk
子類屬性

程式碼

class people():
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def get_name(self):
        print('myname'+'is'+self.name)
    def get_age(self):
        print('myage'+'is'+self.age)

class women(people):
    def __init__(self,name,age,sex):
        super().__init__(name,age)
        self.sex=sex
    def get_sex(self):
        print('mysex'+'is'+self.sex)


A=women('lili',13,'women')
A.get_name()
A.get_sex()
A.get_sex()
print(A.name,A.age,A.sex)

效果

mynameislili
mysexiswomen
mysexiswomen
lili 13 women

4.類做屬性使用

程式碼

class dog():
    def __init__(self,name='papi',age=4):
        self.name=name
        self.age=age
    def got_name(self):
        print('myname')
    
    def talk(self):
        print('wo wo my name is '+self.n)
        print('my age is',self.a)
        
    def active(self):
        print('打滾')     

class body():

    def __init__(self,foot=4,head=1):
        self.foot=foot
        self.head=head

    def get_foot(self):
        print('foot'+str(self.foot))

class white_dog(dog):

    #看這裏的繼承方法
    def __init__(self,name,age):
        super().__init__(name,age)
        
        #範例化類做參數
        self.foot=body()

    def abc(self):
        print('11');


test=white_dog('kk',12);
#注意這裏的呼叫
test.foot.get_foot()

效果

foot4

四.numpy庫的使用

話說python中本來就有列表,爲什麼還要用numpy的呢!因爲numpy中的陣列能運用向量化運算處理整個陣列,而自帶的list只能用回圈運算。

1.建立np的陣列

基於list或者tuple

程式碼

a=np.array([1,2,3,4]);
b=np.array((1,2,3,4));
print(a);
print(b)
a;
b;
c=np.array([[1,2,3],[2,3,4]])
print(c)

效果

[1,2,3,4]
[1,2,3,4]
array([1, 2, 3, 4])
array([1, 2, 3, 4])
[[12  3  4]
 [ 1  2  3]]

基於np.arange()

程式碼

a=np.arange(5)
print(a)
a
c=np.array([np.arange(5),np.arange(5)])

效果

[0,1,2,3,4]
array([0,1,2,3,4])
array([[0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4]])

基於reshape(矩陣數,行,列)

矩陣數預設爲1,必須符合矩陣*行*列

程式碼

c=np.arange(12).reshape(3,4);
c;
d=np.arange(24).reshape(3,4,2);
d;

效果

#3行4列
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
#3塊矩陣都是4行2列       
array([[[ 0,  1],
        [ 2,  3],
        [ 4,  5],
        [ 6,  7]],

       [[ 8,  9],
        [10, 11],
        [12, 13],
        [14, 15]],

       [[16, 17],
        [18, 19],
        [20, 21],
        [22, 23]]])

2.數據型別

常見的數據型別

程式碼

np.bool(1)
np.int8()
np.int16()
np.int32()
np.int64()
np.uint8()
np.uint16()
np.uint32()
np.uint64()
np.float16()
np.float32()
np.float64()
#複數,只能用j
complex64(3+5j)
complex128(3+4j)

效果

True
#·····
3+5j
3+4j

屬性dype

複數型別用的'D':np.arange(4, dtype='D')

程式碼

#注意顯示的都是小數
a=np.arange(4,dtype=float);
a;

效果

array([1.,2.,3.,4.])

屬性

程式碼

a=np.array([[[ 0,  1],
        [ 2,  3],
        [ 4,  5],
        [ 6,  7]],

       [[ 8,  9],
        [10, 11],
        [12, 13],
        [14, 15]],

       [[16, 17],
        [18, 19],
        [20, 21],
        [22, 23]]]);
#維度
a.ndim
#尺度
a.shape
#元素數量
a.size

效果

3
(3,4,2)
24

屬性矩陣轉置a.T或者a.transpose()

程式碼

a=np.arange(24).reshape(4,6);
a.T;
a

效果

array([[ 0,  6, 12, 18],
       [ 1,  7, 13, 19],
       [ 2,  8, 14, 20],
       [ 3,  9, 15, 21],
       [ 4, 10, 16, 22],
       [ 5, 11, 17, 23]])
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23]])

獲取複數的虛實部

程式碼

d=np.array([1+2j,3+5j])
d.real
d.imag

效果

array([1.,3.])
array([2.,5.])

3.數據使用

切片和索引

注意1:與matlab的不同在於,matlab使用的是()號
注意2:matlab的冒號表達式是[開始,步長,結束]
注意3:python的冒號表達式是[開始,結束,步長]

程式碼

a=np.arange(12).reshape(3,4);
a[0,0];
a[[01],[01]]
a[1:3,1:3] 

效果

0
array([0,5])
array([[5,6],
	  [9,10]])

4.形狀處理

形狀處理reshape和resize

注意:reshape的效果和resize的效果基本一樣,而reshape不會改變原來矩陣,而resize會改變

程式碼

a=np.arange(12).reshape(3,4)
a
a.reshape(4,3)
a #沒有真的改變
a.resize(4,3)
a #真的改變了

效果

array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])

形狀處理ravel()和flatten()

效果相同的把多維矩陣轉換成一維矩陣,不同的是flatten返回的拷貝改變不影響原來矩陣,而ravel返回的是檢視,改變它的值,就會改變原來的矩陣的值

程式碼

a=np.arange(12).reshape(3,4)
a.ravel();
a.flatten();
a.ravel()[2]=100;
a.flatten()[3]=100;
a;

效果

array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
#迫使值改變的是ravel()
array([[  0,   1, 100,   3],
       [  4,   5,   6,   7],
       [  8,   9,  10,  11]])
       

水平(Horizontal)疊加和垂直(Vertical)疊加

水平疊加(海平面)指的是同一水平方向新增,故行要一樣,也叫列新增。
垂直疊加(疊樓)指的是同一垂直方向疊加,故列要一樣,也叫行新增
hstack()等價於column_stack()
vstack()等價於row_stack()

程式碼

a=np.arange(3)
b=np.arange(7,10)
c=np.hstack((a,b)) 
c

效果

array([0,1,2,7,8,9])

程式碼

a=np.arange(10)
b=np.arange(0,20,2)
c=np.vstack((a,b))
c

效果

array([
[0,1,2,3,4,5,6,7,8,9],
[0,2,4,6,8,10,12,14,16,18]
])

拆分(對等劃分)

np.hsplit(a,2)==np.split(a,2,axis=1)水平或者說橫向拆分.
np.vsplit(a,2)==np.split(a,2,axis=0)垂直或者說縱向拆分.
注意:特別說明只能對等劃分矩陣如果劃分後不對等就會報錯

程式碼

a=np.arange(30).reshape(5,6)
np.hsplit(a,2) #注意如果是np.hsplit(a,1)報錯
a=np.vstack((a,np.array([1,2,3,4,5,6]))) #拼一維
a
np.vsplit(a,2)

效果

[array([[ 0,  1,  2],
       [ 6,  7,  8],
       [12, 13, 14],
       [18, 19, 20],
       [24, 25, 26]]), array([[ 3,  4,  5],
       [ 9, 10, 11],
       [15, 16, 17],
       [21, 22, 23],
       [27, 28, 29]])]
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23],
       [24, 25, 26, 27, 28, 29],
       [ 1,  2,  3,  4,  5,  6]])
[array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17]]), array([[18, 19, 20, 21, 22, 23],
       [24, 25, 26, 27, 28, 29],
       [ 1,  2,  3,  4,  5,  6]])]

常用的函數

羅列一些常用的函數,注意想算某一行或者某一列用axis指明方向,否則就是全矩陣

程式碼

a=array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23],
       [24, 25, 26, 27, 28, 29],
       [ 1,  2,  3,  4,  5,  6]])
np.sum(a) #和
np.max(a) #最大值
np.min(a) #最小值
np.sum(a,axis=1) #和
np.max(a,axis=1) #最大值
np.min(a,axis=1) #最小值
np.sum(a,axis=0) #和
np.max(a,axis=0) #最大值
np.min(a,axis=0) #最小值

效果

456
29
0
array([ 15,  51,  87, 123, 159,  21])
array([ 5, 11, 17, 23, 29,  6])
array([ 0,  6, 12, 18, 24,  1])
array([61, 67, 73, 79, 85, 91])
array([24, 25, 26, 27, 28, 29])
array([0, 1, 2, 3, 4, 5])

常用統計函數

同樣可以沿座標軸走

程式碼

a=array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23],
       [24, 25, 26, 27, 28, 29],
       [ 1,  2,  3,  4,  5,  6]])
np.ptp(a) #沿着指定方向返回max-min
np.ptp(a,axis=1)
np.ptp(a,axis=0)
np.std(a) #標準差
np.var(a) #方差
np.cumsum(a) #累加
np.cumsum(a,axis=1)
np.cumprod(a,axis=1) #累乘

效果

29
array([5, 5, 5, 5, 5, 5])
array([24, 24, 24, 24, 24, 24])
8.928730157319249
79.72222222222223
array([  0,   1,   3,   6,  10,  15,  21,  28,  36,  45,  55,  66,  78,
        91, 105, 120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325,
       351, 378, 406, 435, 436, 438, 441, 445, 450, 456], dtype=int32)
array([[  0,   1,   3,   6,  10,  15],
       [  6,  13,  21,  30,  40,  51],
       [ 12,  25,  39,  54,  70,  87],
       [ 18,  37,  57,  78, 100, 123],
       [ 24,  49,  75, 102, 130, 159],
       [  1,   3,   6,  10,  15,  21]], dtype=int32)
array([[        0,         0,         0,         0,         0,         0],
       [        6,        42,       336,      3024,     30240,    332640],
       [       12,       156,      2184,     32760,    524160,   8910720],
       [       18,       342,      6840,    143640,   3160080,  72681840],
       [       24,       600,     15600,    421200,  11793600, 342014400],
       [        1,         2,         6,        24,       120,       720]],
      dtype=int32)

五.numpy庫中的random庫使用

numpy.random.rand()

給定維度後,隨機生成[0,1)的亂數

程式碼

np.random.rand(3,4,2) #生成3維的4行2列亂數矩陣

效果

array([[[0.78222892, 0.57296174],
        [0.82410043, 0.69199821],
        [0.56177283, 0.54485045],
        [0.72164954, 0.37793375]],

       [[0.01029695, 0.23724886],
        [0.99434156, 0.82188593],
        [0.85203848, 0.77888204],
        [0.01309593, 0.12506261]],

       [[0.89450448, 0.16712764],
        [0.26529951, 0.16106691],
        [0.40513186, 0.04519616],
        [0.49341251, 0.64960708]]])

numpy.random.randn()

與numpy.random.rand()同樣,但是產生的是正態分佈

程式碼

np.random.randn(3,4,2)

效果

array([[[-0.44832638,  0.01445034],
        [-1.11713683,  0.12883422],
        [-1.09305912, -0.33353701],
        [ 0.1926343 ,  0.75415553]],

       [[ 1.64102921, -1.69070963],
        [-0.07311009,  0.55925768],
        [ 0.51650303,  0.92720525],
        [-1.88607029, -0.51923897]],

       [[-0.44430174,  0.09728218],
        [-0.48600794,  0.29144825],
        [-0.13591176, -1.0953001 ],
        [ 0.10504994, -0.11815044]]])

numpy.random.randint(low,hige,size,dtype)

size是維度大小,hige沒寫預設從0開始到low結束
size=5就是一維,size=(3,2)就是二維

程式碼

np.random.randint(1,10,size=(3,4))
np.random.randint(3,size=3) #從0到3產生數位,產生3個

效果

array([[8, 9, 8, 2],
       [9, 9, 2, 5],
       [6, 9, 3, 1]])
array([1, 0, 0])

其他一些生成[0,1)浮點數

numpy.random.random_sample(size=None)
numpy.random.random(size=None)
numpy.random.ranf(size=None)
numpy.random.sample(size=None)

程式碼

np.random.sample(size=(3,2))

效果

array([[0.07071135, 0.20996922],
       [0.18568128, 0.1489589 ],
       [0.17019674, 0.11112179]])

numpy.random.choice()

numpy.random.choice(a,size=None,replace=True,p=None)
a是數據,假如a是一個正數就是從0到這個正數選,要是一個列表就從列表選
size是選擇生成的數據矩陣
replace=False就是選的數都不重複的意思
p是概率,保證和爲1,且長度與選擇列表長度一致

程式碼

np.random.choice(5,size=3) #5就是np.arange(5)生成的列表
np.random.choice([3,4,2],size=(3,3)) #從列表選
np.random.choice([3,4,2],size=3,replace=False) #每個都不重複
np.random.choice([12,2,3],size=(3,3),p=[0.9,0.05,0.05])
#這p就和列表長度保持爲3,而且大概率都是12

效果

array([3, 1, 2])
array([[4, 4, 4],
       [3, 4, 3],
       [2, 4, 4]])
array([3, 2, 4])
array([[12, 12, 12],
       [12, 12, 12],
       [12,  2,  2]])

numpy.random.seed()

設定隨機種子,注意相同的隨機種子,產生的亂數是一樣的

程式碼

np.random.seed(10)
np.random.randn(5)
np.random.seed(100)
np.random.randn(5)
np.random.seed(100)
np.random.randn(5)
np.random.randn(5)

效果

array([ 1.3315865 ,  0.71527897, -1.54540029, -0.00838385,  0.62133597])
array([-1.74976547,  0.3426804 ,  1.1530358 , -0.25243604,  0.98132079])
array([-1.74976547,  0.3426804 ,  1.1530358 , -0.25243604,  0.98132079])
array([ 0.51421884,  0.22117967, -1.07004333, -0.18949583,  0.25500144])

六.pandas庫的使用

Series([],index=[])

Series建立一個帶有序號的列表,其中的參數index可以改變序號

程式碼

a=pd.Series([1,2,3,4]); #不寫index就是數位排序
a;
b=pd.Series([1,2,3,4],index=['c','d','s','d'])
b;
b['s']; #類似字典索引
b[['c','s']]

效果

0    1
1    2
2    3
3    4
dtype: int64

c    1
d    2
s    3
d    4
dtype: int64

3

c    1
s    3
dtype: int64

DataFrame()

…to be continue