前言
实际的预期输出与题目中的预期输出不一样,让我这个菜鸡一顿好改,生气。
一、题目描述
本关任务:使用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
总结
严谨点出题吧,对我这个菜鸟很不友好,大声哭泣。