Pandas DataFrames: khám phá phân tích dữ liệu với Python

Post Reply
boco.cf
Posts: 13
Joined: Wed Apr 17, 2019 1:29 pm

Pandas DataFrames: khám phá phân tích dữ liệu với Python

Post by boco.cf »

Pandas DataFrames giúp thao tác dữ liệu của bạn dễ dàng, từ việc chọn hoặc thay thế các cột và chỉ mục đến định hình lại dữ liệu của bạn.
Để thực hành các lệnh python bên dưới, bạn sử dụng colab: https://colab.research.google.com/
Login bằng tài khoản gmail của bạn là ok, trên colab có đầy đủ môi trường cho bạn code python thoải mái.
Import pandas bằng lệnh sau: import pandas as pd

Chúng ta thực hiện đọc file .csv (nội dung file là các giá trị được phân tách bằng dấu phẩy) sang dataframe:

Code: Select all

csv_path='https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/PY0101EN/labs/top_selling_albums.csv'
df = pd.read_csv(csv_path)
Sử dụng lệnh df.head() để xem data:

Image

Tương tự ta có thể load data từ file excel, ta cần cài đặt sau:

Code: Select all

#dependency cần thiết 
!pip install xlrd
--------------------
Requirement already satisfied: xlrd in /usr/local/lib/python3.6/dist-packages (1.1.0)
Kết quả các lệnh sau đây cũng là dataframe tương tự như trên:

Code: Select all

xlsx_path='https://ibm.box.com/shared/static/mzd4exo31la6m7neva2w45dstxfg5s86.xlsx'

df = pd.read_excel(xlsx_path)
df.head()
Chúng ta có thể truy cập cột "Length" và gán nó cho một dataframe mới là 'x':

Code: Select all

x=df[['Length']]
x
Image

Có thể truy cập data nhiều cột tương tự như vậy:

Code: Select all

y=df[['Artist','Length','Genre']]
y
Image

Truy cập từng phần tử :

Code: Select all

#**ix** will be deprecated, use **iloc** for integer indexes 
#df.ix[0,0]
df.iloc[0,0]
--------------------
'Michael Jackson'

Code: Select all

#df.ix[1,0]
df.iloc[1,0]
--------------------
'AC/DC'

Code: Select all

#**ix** will be deprecated, use **iloc** for integer indexes
#df.ix[0,2]
df.iloc[0,2]
--------------------
1982

df.iloc[1,2]
--------------------
1980
Có thể truy cập column bằng cách dùng tên cột:

Code: Select all

#**ix** will be deprecated, use **loc** for label-location based indexer
#df.ix[0,'Artist']
df.loc[0,'Artist']
--------------------
'Michael Jackson'

df.loc[1,'Artist']
--------------------
'AC/DC'

df.loc[0,'Released']
--------------------
1982

df.loc[1,'Released']
--------------------
1980

Code: Select all

#df.ix[0:2, 0:3]
df.iloc[0:2, 0:3]
Image

Code: Select all

#df.ix[0:2, 'Artist':'Released']
df.loc[0:2, 'Artist':'Released']
Image

Code: Select all

y = df[df['Released']>=1980]
y
Image
Donate:
DGB address: D5SDMcJX6r1cJoPjWUfRj5BSfM2Y4Qvnzr

Post Reply