1. 程式人生 > >Pandas六、重新命名和聯合

Pandas六、重新命名和聯合

讀入資料

import pandas as pd

reviews = pd.read_csv("../input/wine-reviews/winemag-data-130k-v2.csv", index_col=0)

1、有些列是名字需要我們重新命名,建立一個副本,將region_1列改名region,將region_2列改名locale。

# 第一種 相當於把元組轉成字典
# renamed = reviews.rename(columns=dict(region_1='region',region_2='locale'))
# 第二種
renamed = reviews.rename(columns={'region_1':'region','region_2':'locale'})
renamed.head()

 

2、將索引名改成"wines"

# reindexed = reviews.rename_axis('wines', axis='rows')
# reindexed.head()
# 另一種有意思的改法
redo = reviews.rename(index={1:'A',2:'B'},columns={'region_1':'region'})
redo.head()

3、讀入兩個(列名)相同的資料集 並進行首尾連線。

先讀入兩個資料集 檢視資料集情況:

gaming_products = pd.read_csv("../input/things-on-reddit/top-things/top-things/reddits/g/gaming.csv")
gaming_products['subreddit'] = "r/gaming"
movie_products = pd.read_csv("../input/things-on-reddit/top-things/top-things/reddits/m/movies.csv")
movie_products['subreddit'] = "r/movies"
# gaming_products
# print()
movie_products

然後連線兩個資料集:

combined_products = pd.concat([gaming_products, movie_products],axis=0,keys=['x','y'])
combined_products
'''
Attention:
        axis=0 : 表示在縱軸(列)進行連線 axis=1 :  表示在橫軸(行)進行連線
        keys=['x','y'] : 進行表示 連線後的資料集中的資料分別是來自哪部分 具體可見下圖      
'''

 

4、再讀入兩個資料集,不同的是這次需要通過二者共有的相同主鍵(MeeetID)進行連線。

powerlifting_meets = pd.read_csv("../input/powerlifting-database/meets.csv")
powerlifting_competitors = pd.read_csv("../input/powerlifting-database/openpowerlifting.csv")
powerlifting_competitors

然後進行主鍵連線:

powerlifting_combined = powerlifting_meets.set_index("MeetID").join(powerlifting_competitors.set_index("MeetID"))
powerlifting_combined 

註明:

以上資料來自kaggle learn

Pandas Renaming and combining workbook