Nhảy tới nội dung

Các hàm và phương thức thông tin

Dữ liệu mình sẽ sử dụng là dữ liệu sales_subset.csv được lấy từ kho dữ liệu kaggle

df = pd.read_csv('https://raw.githubusercontent.com/lhduc94/kungfupandas/master/data/sales_subset.csv',index_col=['Unnamed: 0'])

Phương thức hiện thị dữ liệu .head().tail()

Phương thức .head(n=5) hiển thị n dòng đầu tiên của DataFrame, ngược lại phương thức .tail(n=5) hiển thị n dòng cuối cùng của DataFrame

df.head()
        store type  department        date  weekly_sales  is_holiday  \
0 1 A 1 2010-02-05 24924.50 False
1 1 A 1 2010-03-05 21827.90 False
2 1 A 1 2010-04-02 57258.43 False
3 1 A 1 2010-05-07 17413.94 False
4 1 A 1 2010-06-04 17558.09 False

temperature_c fuel_price_usd_per_l unemployment
0 5.727778 0.679451 8.106
1 8.055556 0.693452 8.106
2 16.816667 0.718284 7.808
3 22.527778 0.748928 7.808
4 27.050000 0.714586 7.808
df.tail()
       store type  department        date  weekly_sales  is_holiday  \
10769 39 A 99 2011-12-09 895.00 False
10770 39 A 99 2012-02-03 350.00 False
10771 39 A 99 2012-06-08 450.00 False
10772 39 A 99 2012-07-13 0.06 False
10773 39 A 99 2012-10-05 915.00 False

temperature_c fuel_price_usd_per_l unemployment
10769 9.644444 0.834256 7.716
10770 15.938889 0.887619 7.244
10771 27.288889 0.911922 6.989
10772 25.644444 0.860145 6.623
10773 22.250000 0.955511 6.228

Phương thức hiển thị số lượng dòng và cột .shape.size

Phương thức .shape cho biết số lượng dòng và cột của bảng

df.shape
(10774, 9)

Trong dó 10774 là số lượng dòng của bảng và 9 là số lượng cột của bảng

Phương thức .size cho biết số lượng phần từ của bảng

df.size
96966

Phương thức hiển thị thông tin .info()

Phương thức .info() dùng để xem một số thông tin cơ bản như

  • Index của bảng
  • Tên các cột, số lượng các phần tử Null trong cột và kiểu dữ liệu của chúng
  • Số lượng các kiểu dữ liệu
  • Dung lượng của bảng

Ví dụ

df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 10774 entries, 0 to 10773
Data columns (total 9 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 store 10774 non-null int64
1 type 10774 non-null object
2 department 10774 non-null int64
3 date 10774 non-null object
4 weekly_sales 10774 non-null float64
5 is_holiday 10774 non-null bool
6 temperature_c 10774 non-null float64
7 fuel_price_usd_per_l 10774 non-null float64
8 unemployment 10774 non-null float64
dtypes: bool(1), float64(4), int64(2), object(2)
memory usage: 768.1+ KB
Mẹo

Phương thức .info() có các tham số để tùy chỉnh các thông tin có thể xem. Bạn có thể giới hạn các thông tin theo các tham số dưới đây info(verbose=None, buf=None, max_cols=None, memory_usage=None, show_counts=None, null_counts=None)

Phương thức hiển thị thống kê .describe()

Phương thức .describe() đưa ra một số thống kê đơn giản như count, mean, std, min, maxpercentiles = [0.25, 0.5, 0.75]. Phương thức này chỉ áp dụng cho các cột ở dạng numerical.

df.describe()
              store    department   weekly_sales  temperature_c  \
count 10774.000000 10774.000000 10774.000000 10774.000000
mean 15.441897 45.218118 23843.950149 15.731978
std 11.534511 29.867779 30220.387557 9.922446
min 1.000000 1.000000 -1098.000000 -8.366667
25% 4.000000 20.000000 3867.115000 7.583333
50% 13.000000 40.000000 12049.065000 16.966667
75% 20.000000 72.000000 32349.850000 24.166667
max 39.000000 99.000000 293966.050000 33.827778

fuel_price_usd_per_l unemployment
count 10774.000000 10774.000000
mean 0.749746 8.082009
std 0.059494 0.624355
min 0.664129 3.879000
25% 0.708246 7.795000
50% 0.743381 8.099000
75% 0.781421 8.360000
max 1.107674 9.765000
mẹo

Bạn có thể thay đổi thông số percentiles bằng cách truyền tham số này vào trong .describe()

Ví dụ

df.describe(percentiles=[0.1, 0.99])
              store    department   weekly_sales  temperature_c  \
count 10774.000000 10774.000000 10774.000000 10774.000000
mean 15.441897 45.218118 23843.950149 15.731978
std 11.534511 29.867779 30220.387557 9.922446
min 1.000000 1.000000 -1098.000000 -8.366667
10% 2.000000 8.000000 607.695000 2.577778
50% 13.000000 40.000000 12049.065000 16.966667
99% 39.000000 99.000000 142193.400300 32.388889
max 39.000000 99.000000 293966.050000 33.827778

fuel_price_usd_per_l unemployment
count 10774.000000 10774.000000
mean 0.749746 8.082009
std 0.059494 0.624355
min 0.664129 3.879000
10% 0.687640 7.127000
50% 0.743381 8.099000
99% 0.978565 9.765000
max 1.107674 9.765000
Lưu ý

pandas mặc định tính thêm percentile tại 0.5 dù không truyền vào

Thuộc tính .index

Thuộc tính .index để lấy index của DataFrame hoặc Series.

Ví dụ

df.index
Int64Index([    0,     1,     2,     3,     4,     5,     6,     7,     8,
9,
...
10764, 10765, 10766, 10767, 10768, 10769, 10770, 10771, 10772,
10773],
dtype='int64', length=10774)

Phương thức hiển thị dung lượng bộ nhớ .memory_usage()

Phương thức .memory_usage(index=True, deep=False) giúp thông kê dung lượng của từng cột. Trong đó index trả về dung lượng của phần đánh index và deep nếu đặt giá trị True sẽ trả về cách tính toán sâu hơn về bộ nhớ cho kiểu object

Ví dụ

df.memory_usage(index=False)
store                   86192
type 86192
department 86192
date 86192
weekly_sales 86192
is_holiday 10774
temperature_c 86192
fuel_price_usd_per_l 86192
unemployment 86192
dtype: int64
df.memory_usage(deep=True) 
Index                    86192
store 86192
type 624892
department 86192
date 721858
weekly_sales 86192
is_holiday 10774
temperature_c 86192
fuel_price_usd_per_l 86192
unemployment 86192
dtype: int64