Các hàm và phương thức khác
Phương thức lấy Series []
Sử dụng [<tên cột>]
để lấy 1 Series của bảng. Ví dụ để lấy Series của cột department
ta làm như sau
df['department']
0 1
1 1
2 1
3 1
4 1
..
10769 99
10770 99
10771 99
10772 99
10773 99
Name: department, Length: 10774, dtype: int64
những Series này cũng có thế áp dụng các phương thức tương tự của DataFrame
như .head()
, .tail()
....
Phương thức ép kiểu .astype()
Với phương thức .astype()
ta có thể ép kiểu dữ liệu của cột về dạng khác. Việc ép kiểu này giúp thay đổi kiểu dữ liệu để tiện các thao tác như nối 2 cột có 2 kiểu str
và int
, ngoài ra việc ép kiểu cũng giúp giảm được dung lượng bộ nhớ dành cho bảng.
Ở ví dụ trên, ta thấy cột department
có giá trị max là 99
nhưng được mặc định là int64
khá lãng phí, do đó ép kiểu về int8
Trước khi ép kiểu
df['department'].dtypes
dtype('int64')
df['department'].memory_usage() - df['department'].index.memory_usage()
86192
Sau khi ép kiểu
df['department'].astype('int8').memory_usage() - df['department'].index.memory_usage()
10774
Ta thấy sau khi ép kiểu thì bộ nhớ lưu trữ của cột department
giảm đi 8
lần.
df['department'].memory_usage()
trả về dung lượng lưu trữ của cột department
và dung lượng lưu trữ của index
Phương thức loại bỏ các dòng trùng lặp .drop_duplicates()
Phương thức này trả về DataFrame
đã được loại bỏ các hàng trùng nhau.
Lệnh thực hiện
DataFrame.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False)
Trong đó:
-
subset
: tên cột hoặc danh sách các cột cần lọc giá trị trùng lặp, nếu không truyền vào sẽ mặc định chọn tất cả các cột -
keep
: các kiểu lọcduplicate
bao gồm các lựa chọn sau:'first'
: loại bỏ các dòng bản sao, chỉ giữ lại dòng đầu tiên'last'
: loại bỏ các dòng bản sao, chỉ giữ lại dòng cuối cùngFalse
: loại tất cả các dòng trùng lặp
-
inplace
: thao tác trực tiếp trên bảng nếu để giá trịTrue
hoặc tạo 1 bản sao với giá trịFalse
-
ignore_index
: NếuTrue
trả về index đánh số lại từ0
đếnn-1
Ví dụ
df = pd.DataFrame({
'action': ['view', 'view', 'add to cart', 'add to cart', 'add to cart',],
'fruit': ['orange', 'orange', 'orange', 'apple', 'apple'],
'times': [ 1, 1, 3, 2, 4]
})
df
action fruit times
0 view orange 1
1 view orange 1
2 add to cart orange 3
3 add to cart apple 2
4 add to cart apple 4
df.drop_duplicates()
action fruit times
0 view orange 1
2 add to cart orange 3
3 add to cart apple 2
4 add to cart apple 4
df.drop_duplicates(subset=['action'])
action fruit times
0 view orange 1
2 add to cart orange 3
df.drop_duplicates(subset=['action','fruit'], keep='last', ignore_index=True)
action fruit times
0 view orange 1
1 add to cart orange 3
2 add to cart apple 4
Phương thức đếm số lần xuất hiện .value_counts()
Phương thức này trả số lần xuất hiện của các phần tử trong Series
. Kết quả trả về mặc định sẽ sắp xếp theo số lần xuất hiện giảm dần và mặc định bỏ qua các giá trị null
Series.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True)