<div id="js_content">
<pre class="blockcode"><code class="language-php">↑↑↑关注后"星标"简说Python人人都可以简单入门Python、爬虫、数据分析 简说Python推荐
来源|凹凸数据作者|雅痞绅士JM
</code></pre>
<p style="text-align: left">大家好<img src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-4a598a2b7c3de4e802ecfacc2a629681.png"></p>
<p style="text-align: left">基础知识在数据分析中就像是九阳神功,熟练的掌握,加以运用,就可以练就深厚的内力,成为绝顶高手自然不在话下!</p>
<p style="text-align: left">为了更好地学习数据分析,我对于数据分析中pandas这一模块里面常用的函数进行了总结。整篇总结,在详尽且通俗易懂的基础上,我力求使其有很强的条理性和逻辑性,所以制作了思维导图,对于每一个值得深究的函数用法,我也会附上官方链接,方便大家继续深入学习。</p>
<p style="text-align: left">文章中的所有代码都会有讲解和注释,绝大部分也都会配有运行结果,酱紫的话,整篇总结篇幅量自然不小,所以我分成了上下两篇,这里是下篇。</p>
<p style="text-align: center"><a href="http://mp.weixin.qq.com/s?__biz=MzUyOTAwMzI4NA%3D%3D&chksm=fa653356cd12ba4035f92812d11c63a85ea14b554352a13d98c8219812336d40b7319c748f25&idx=2&mid=2247505197&scene=21&sn=ad10d3074a168413d9ca15bdd07aa78f#wechat_redirect">《超全的pandas数据分析常用函数总结:上篇》</a></p>
<p style="text-align: center">5. 数据预处理</p>
<p style="text-align: left">先创建一个data2数据集</p>
<pre class="blockcode"><code class="language-go">data2=pd.DataFrame({
"id":np.arange(102,105),
"profit":[1,10,2]
})
data2
</code></pre>
<p style="text-align: left">输出结果:</p>
<p style="text-align: center"><img src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-a3dac572edc8ab4897ea94d79bcd2340.png"></p>
<p style="text-align: left">再创建一个data3数据集</p>
<pre class="blockcode"><code class="language-go">data3=pd.DataFrame({
"id":np.arange(111,113),
"money":[106,51]
})
data3
</code></pre>
<p style="text-align: left">输出结果:</p>
<p style="text-align: center"><img src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-d6944f01a8bc20443b1c73edbd354301.png"></p>
<p style="text-align: left"><strong>5.1 数据的合并</strong></p>
<p style="text-align: left"><strong>用merge合并</strong></p>
<pre class="blockcode"><code class="language-go">DataFrame.merge(self,right,how =‘inner’,on = None)
</code></pre>
<ul><li><p style="text-align: left">right指要合并的对象</p></li><li><p style="text-align: left">on指要加入的列或索引级别名称,必须在两个DataFrame中都可以找到。</p></li><li><p style="text-align: left">how决定要执行的合并类型:left(使用左框架中的键)、right、inner(交集,默认)、outer(并集)</p></li></ul>
<pre class="blockcode"><code class="language-go">data_new=pd.merge(data,data2,on='id',how='inner') # 默认取交集
data_new=pd.merge(data,data2,on='id',how='outer') # 取并集,没有值的地方填充NaN
data.merge(data2,on='id',how='inner') # 另一种写法,输出结果见下方
</code></pre>
<p style="text-align: left">输出结果:</p>
<p style="text-align: center"><img src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-8ec7eade9106f75526fd8d672637980a.png"></p>
<blockquote>
<p style="text-align: left">更多关于pandas.DataFrame.merge的用法,戳下面官方链接:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html</p>
</blockquote>
<pre class="blockcode"><code class="language-go">data.merge(data2,on='id',how='left') # 使用左框架中的键
</code></pre>
<p style="text-align: left">输出结果:</p>
<p style="text-align: center"><img src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-ab842be03e39a4d00771bdebc347e0d8.png"></p>
<p style="text-align: left"><strong>用append合并</strong></p>
<pre class="blockcode"><code class="language-go">data.append(data2) # 在原数据集的下方合并入新的数据集
</code></pre>
<p style="text-align: left">输出结果:</p>
<p style="text-align: center"><img src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-4f49363bcfa7f38ea6777962c5945d29.png"></p>
<p style="text-align: left"><strong>用join合并</strong></p>
<p style="text-align: left">用下面这种方式会报错:列重叠,且没有指定后缀,因为上面的数据data和data2都有“id”列,所以需要给id列指明后缀。</p>
<pre class="blockcode"><code class="language-go">data.join(data2) # 会报错
</code></pre>
<p style="text-align: left">第一种修改方式:</p>
<pre class="blockcode"><code class="language-go">data.join(data2,lsuffix='_data', rsuffix='_data2')
< |
|