目錄
我們還是先來加載一下數據
import pandas as pd
pd.set_option('max_rows', 5)
import numpy as np
melbourne_data = pd.read_csv('melb_data.csv')
melbourne_data.head()
重命名
通常,數據將通過列名,索引名或我們不滿意的其他命名約定來獲取。 在這種情況下,我們可能會使用pandas重命名實用程序函數來更改有問題的條目的名稱。
我們在這裏介紹的第一個函數是rename,它允許你重命名索引名稱或者列名。 例如,要將數據集中的Price列更改爲Px,我們將執行以下操作:
melbourne_data.rename(columns={'Price': 'Px'})
重命名允許你通過分別指定索引或列關鍵字參數來重命名索引或列值。 它支持各種輸入格式,但我通常會發現Python dict是最方便的。 下面是一個使用它來重命名索引上的一些元素的示例。
melbourne_data.rename(index={0: 'firstEntry', 1: 'secondEntry'})
你可能經常重命名列,但很少重命名索引值。 爲此,set_index通常更方便。
行索引和列索引都可以有自己的name屬性。 rename_axis方法可用於更改這些名稱。 例如:
melbourne_data.rename_axis("houses", axis='rows').rename_axis("fields", axis='columns')
合併
在對數據集執行操作時,我們有時需要以特別的方式組合不同的DataFrame和/或Series。 pandas有三種核心方法可以做到這一點。 爲了增加複雜性,這些是concat,join和merge。 合併可以做的大部分也可以通過join更簡單地完成,所以我將省略它並專注於前兩個函數。
最簡單的組合方法是concat。 這個函數就像核心Python中的list.concat方法一樣:給定一個元素列表,它會沿着軸將這些元素組合在一起。
當我們在不同的DataFrame或Series對象中有數據但具有相同的字段(列)時,這非常有用。
一個例子:YouTube視頻數據集,它根據原籍國(例如加拿大和英國,在此示例中)分割數據。
我們將使用read_csv函數將數據讀入DataFrame
如果我們想同時研究多個國家,我們可以使用concat將它們聯合起來:
canadian_youtube = pd.read_csv("CAvideos.csv.zip")
british_youtube = pd.read_csv("GBvideos.csv.zip")
pd.concat([canadian_youtube, british_youtube])