Pandas六、重新命名和聯合
阿新 • • 發佈:2019-01-06
讀入資料
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