[ python ] pandas学习笔记(九)实现DataFrame的merge

https://blog.csdn.net/weixin_37226516/article/details/64137043

on:列名,join用来对齐的那一列的名字,用到这个参数的时候一定要保证左表和右表用来对齐的那一列都有相同的列名。

left_on:左表对齐的列,可以是列名,也可以是和dataframe同样长度的arrays。

right_on:右表对齐的列,可以是列名,也可以是和dataframe同样长度的arrays。

left_index/ right_index: 如果是True的haunted以index作为对齐的key

how:数据融合的方法。

sort:根据dataframe合并的keys按字典顺序排序,默认是,如果置false可以提高表现。

import pandas as pd

rating_path = "./ant-learn-pandas-master/datas/movielens-1m/ratings.dat"
users_path = "./ant-learn-pandas-master/datas/movielens-1m/users.dat"
movies_path = "./ant-learn-pandas-master/datas/movielens-1m/movies.dat"

ratings = pd.read_csv(rating_path, sep='::', engine='python', names="UserID::MovieID::Ratings::TimeStamp".split("::"))
users = pd.read_csv(users_path, sep='::', engine='python', names="UserID::Gender::Age::Occupation::Zip-Code".split("::"))
movies = pd.read_csv(movies_path, sep='::', engine='python', names="MovieID::Titles::Genres".split("::"))

两个合并

ratings_user = pd.merge(
    ratings, users, left_on="UserID", right_on="UserID", how="inner"
)

如果和表合并的过程中遇到有一列两个表都同名,但是值不同,合并的时候又都想保留下来,就可以用suffixes给每个表的重复列名增加后缀。

result = pd.merge(left, right, on=‘k’, suffixes=[’_l’, ‘_r’])

还有一个合并方法是concat
在这里插入图片描述

扫描二维码关注公众号,回复: 12314738 查看本文章

猜你喜欢

转载自blog.csdn.net/Sgmple/article/details/113076882