头歌-Pandas合并数据集-第2关:合并与连接


前言

实际的预期输出与题目中的预期输出不一样,让我这个菜鸡一顿好改,生气。

一、题目描述

本关任务:使用pandas中的merge()函数按照编程要求合并三份数据。

好多图,省略

测试说明
平台会对你编写的代码进行测试,对比你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。
测试输入:
无测试输入
预期输出:
(这个图骗得我好苦啊,真实输出不是它)

(这是尊嘟输出结果)

二、代码

代码如下(示例):

import pandas as pd

def task2(dataset1, dataset2, dataset3):
    # ********** Begin **********#
    d1, d2, d3 = pd.DataFrame(dataset1), pd.DataFrame(dataset2), pd.DataFrame(dataset3)
    result = pd.merge(d3, pd.merge(d1, d2, on='user_id', how='outer'), left_on='id', right_on='user_id', how='outer')
    result['user_id'] = result['user_id'].fillna(result['id'])
    result['page_click_count_y'] = result['page_click_count_y'].fillna(result['page_click_count_x'])
    result['city_x'] = result['city_x'].fillna(result['city_y'])
    result = result.drop(['id', 'page_click_count_x', 'city_y'], axis=1)
    result.rename(columns={'city_x': 'city', 'page_click_count_y': 'page_click_count'}, inplace=True)
    result = result.sort_values(by="user_id")
    result['user_id'] = result['user_id'].values.astype(int)
    
    # 调整列顺序
    result = result[['user_id', 'page_click_count', 'city']]
    
    # ********** End **********#
    return result


总结

严谨点出题吧,对我这个菜鸟很不友好,大声哭泣。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值