首頁 > 軟體

Python資料處理的三個實用技巧分享

2022-04-01 13:00:04

我使用的 Pandas 版本如下,順便也匯入 Pandas 庫。

>>> import pandas as pd
>>> pd.__version__
'0.25.1'

在開始前先確保直譯器和資料集在同一目錄下:

>>> import os
>>> os.chdir('D://source/dataset') # 這是我的資料集所在目錄
>>> os.listdir() # 確認此目錄已經存在 IMDB-Movie-Data 資料集
['drinksbycountry.csv', 'IMDB-Movie-Data.csv', 'movietweetings', 'titanic_eda_data.csv', 'titanic_train_data.csv']

準備工作就位後,正式開始資料處理技巧之旅。

1 Pandas 移除某列

匯入資料

>>> df = pd.read_csv("IMDB-Movie-Data.csv")
>>> df.head(1) # 匯入並顯示第一行
   Rank                    Title                    Genre  ...   Votes Revenue (Millions) Metascore
0     1  Guardians of the Galaxy  Action,Adventure,Sci-Fi  ...  757074             333.13      76.0

[1 rows x 12 columns]

使用 pop 方法移除指定列:

>>> meta = df.pop("Title").to_frame() # 移除 Title 列

確認是否已被移除:

>>> df.head(1) # df 變為 11列
   Rank                    Genre  ... Revenue (Millions) Metascore
0     1  Action,Adventure,Sci-Fi  ...             333.13      76.0

[1 rows x 11 columns]

2 統計標題單詞數

pop 後得到 meta,顯示 meta 前 3 行:

>>> meta.head(3)
                     Title
0  Guardians of the Galaxy
1               Prometheus
2                    Split

標題是由單片語成,中間用空格分隔。

# .str.count(" ") + 1 得到單詞個數 
>>> meta["words_count"] = meta["Title"].str.count(" ") + 1 
>>> meta.head(3) # words_count 列代表單詞個數
                     Title  words_count
0  Guardians of the Galaxy            4
1               Prometheus            1
2                    Split            1

3 Genre 頻次統計

下面統計電影 Genre 的頻次,

>>> vc = df["Genre"].value_counts()

下面顯示電影 Genre 的 Top5 ,最高頻為出現 50 次的 Action,Adventure,Sci-Fi 類,次之為 48 次的 Drama 類:

>>> vc.head()
Action,Adventure,Sci-Fi    50
Drama                      48
Comedy,Drama,Romance       35
Comedy                     32
Drama,Romance              31
Name: Genre, dtype: int64

展示 Top5 的餅狀圖:

>>> import matplotlib.pyplot as plt
>>> vc[:5].plot(kind='pie')
<matplotlib.axes._subplots.AxesSubplot object at 0x000001D65B114948>
>>> plt.show()

到此這篇關於Python資料處理的三個實用技巧分享的文章就介紹到這了,更多相關Python 資料處理內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com