Bài 4: Series - Python Panda

Đăng bởi: Admin | Lượt xem: 2876 | Chuyên mục: Python


Series là mảng một chiều có khả năng chứa dữ liệu thuộc bất kỳ kiểu nào (số nguyên, chuỗi, float, python, v.v.). 

1. pandas.Series

Tạo pandas Series như sau :
pandas.Series( data, index, dtype, copy)
  1. data dữ liệu có nhiều dạng khác nhau như ndarray, danh sách, hằng số
  2. index: Giá trị index phải là duy nhất và có thể hashable, cùng độ dài với dữ liệu. Mặc định np.arange (n).
  3. dtype : dtype là kiểu dữ liệu. Nếu Không, kiểu dữ liệu sẽ được tự suy ra
  4. copy : Sao chép dữ liệu, mặc định là False
Một series có thể được tạo bằng các đầu vào khác nhau như :
  • Mảng
  • Dict
  • Giá trị vô hướng hoặc hằng số

2. Tạo series rỗng :

Một series cơ bản, có thể được tạo là series rỗng.
Ví dụ :
#import the pandas library and aliasing as pd
import pandas as pd
s = pd.Series()
print s
Kết quả :
Series([], dtype: float64)

3. Tạo series từ ndarray :

Nếu dữ liệu là một mảng ndarray, thì index được truyền phải có cùng độ dài. Nếu không có index nào được chuyển, thì theo mặc định, index sẽ là dải ô (n) trong đó n là độ dài mảng, tức là [0,1,2,3…. range (len (array)) - 1].
Ví dụ 1 :
#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data)
print s
Kết quả :
0   a
1   b
2   c
3   d
dtype: object
Ví dụ 2 : 
#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data,index=[100,101,102,103])
print s
Kết quả :
100  a
101  b
102  c
103  d
dtype: object

4. Tạo Series từ Dict :

Một dict có thể được chuyển làm đầu vào và nếu không có index nào được chỉ định, thì các khóa từ điển được lấy theo thứ tự sắp xếp để tạo index. Nếu index được thông qua, các giá trị trong dữ liệu tương ứng với các giá trị trong index sẽ được lấy ra.
Ví dụ 1 :
#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data)
print s
Kết quả :
a 0.0
b 1.0
c 2.0
dtype: float64
Quan sát - Các khoá Dict được sử dụng để xây dựng index
Ví dụ 2 :
#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data,index=['b','c','d','a'])
print s
Kết quả :
b 1.0
c 2.0
d NaN
a 0.0
dtype: float64
Thứ tự index được duy trì và phần tử bị thiếu thay thếbằng NaN (Không phải là Số).

5. Tạo Series từ Scalar :

Nếu dữ liệu là một giá trị vô hướng, một index phải được cung cấp. Giá trị sẽ được lặp lại để khớp với độ dài của index
#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
s = pd.Series(5, index=[0, 1, 2, 3])
print s
Kết quả :
0  5
1  5
2  5
3  5
dtype: int64

6. Truy cập dữ liệu với Position :

Dữ liệu trong series có thể được truy cập tương tự như trong ndarray.
Ví dụ 1 :
Truy xuất phần tử đầu tiên. Như chúng ta đã biết, việc đếm bắt đầu từ 0 cho mảng, có nghĩa là phần tử đầu tiên được lưu trữ ở vị trí thứ 0.
import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve the first element
print s[0]
Kết quả :
1
Ví dụ 2 :
Truy xuất ba phần tử đầu tiên trong Chuỗi. Nếu một tham số: được chèn trước nó, tất cả các items từ index đó trở đi sẽ được trích xuất. Nếu hai tham số được sử dụng, các items giữa hai index
import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve the first three element
print s[:3]
Kết quả :
a  1
b  2
c  3
dtype: int64
Ví dụ 3 :
Truy xuất ba phần tử cuối cùng.
import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve the last three element
print s[-3:]
Kết quả :
c  3
d  4
e  5
dtype: int64

 7. Truy xuất dữ liệu sử dụng Label (Index)

Series giống như một mệnh đề có kích thước cố định trong đó bạn có thể lấy và đặt các giá trị theo index label.
Ví dụ 1 :
Truy xuất 1 phần tử sử dụng dụng giá trị index :
import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve a single element
print s['a']
Kết quả :
1
Ví dụ 2 :
Truy xuất nhiều giá trị :
import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve multiple elements
print s[['a','c','d']]
Kết quả :
a  1
c  3
d  4
dtype: int64
Ví dụ 3 :
import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve multiple elements
print s['f']
Kết quả :
…
KeyError: 'f'
Bài tiếp theo: DataFrame >>
vncoder logo

Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!