合并3个数据框而没有其内部相交的最佳方法是什么数据科学的Coursera作业3

问题描述

我正在尝试解决Introduction to data science on coursera的作业3。在完成第一个问题(基本上是清理和合并数据框)之后,我们移至问题2。

Question 1关于合并3个数据帧:

  1. 一个df表示每个国家(227个国家/地区)的能源消耗;
  2. 基于国家的GDP表(264)
  3. 基于国家/地区的排名表(191个排名,每个国家1个排名)

他们要求我们仅合并以县为索引的这三个数据框,并且仅采用前15个等级,效果很好。

第二个问题是基于前15个等级合并3个表时丢失了多少行:

一个问题加入了三个数据集,然后将其简化为 前15个条目。当您加入数据集时,但在您之前 将其减少到前15个项目,您丢失了多少个条目?

函数应返回一个数字。

enter image description here

我要解决的问题是使用以下方法合并GDPEnergy的表:

energy_gdp = pd.merge(energy,GDP,how='inner',right_on='Country',left_on='Country')
print(len(energy_gdp))

从264行GDP中返回186条记录,从能源表中返回227条记录。

然后我将energy_gdpScimEn合并,但没有前15个等级:

ScimEn = ScimEn[15:]

并且:

df = pd.merge(ScimEn,Energy_GDP_df,left_on='Country',how='inner')
return len(df)

结果是147行。

在线搜索解决方案时,结果为156

我执行以下操作以确保答案正确:

ScimEn_initial = ScimEn[:15] # Took only the first 15 ranks
df_initial = pd.merge(ScimEn_initial,how='inner')

# ScimEn = ScimEn[15:]

df = pd.merge(ScimEn,how='inner')

return len(df)-len(df_initial)

当时有147个条目。

我在堆栈溢出时经历了这个post,但是没有显示答案。

这是合并3个数据帧但内部相交的正确方法吗?

P.S。根据分配的一般规则,我们可以搜索或发布堆栈上的解决方案:

这项作业需要比最后一项更多的个人学习 做到了-我们鼓励您查看熊猫文件以查找 您可能尚未使用过的功能方法,或在以下位置询问问题 堆栈溢出并将其标记为pandas和python相关。和的 当然,讨论论坛开放供您与同行互动 和课程人员。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)