今天接着介绍 pandas 如何表对资料表合并、资料汇总等等进阶用法!
假设有X表和Y表,我们想要取两边都有的资料,就会用到 inner join。
下图代表仅会留下白色交集的资料。
这边的 id 代表两张表都有的 key 值
pd.merge(X, Y, on='id', how='inner')
以 X 表为母体表,代表 X 表的资讯都不能遗漏;将 Y 表当作额外的资讯参考,就会用到 left join
下图会留下红色圈圈的资料。
pd.merge(X, Y, on='id', how='left')
如果左右键值不一样的话可以改成
pd.merge(X, Y, left_on='id1', right_on='id2', how='left')
描述性统计
df.describe()
相关系数
df.corr()
以 Survived 为基底,对於所有栏位做计算
df.groupby('Survived').count()
以两种以上的栏位为基底,对其他的栏位做计算
df.groupby(['Survived','Sex']).count()
计算也可以使用多种方法
df.groupby(['Survived']).aggregate(['min', 'max', 'mean', 'median'])
类似 excel 的资料枢纽,更多请参考文件
pd.pivot_table(df, index=['Survived'], aggfunc=['mean', 'median'])
以上的招式非常多,初学者也很难在短时间内就上手起来。因此这里推荐可以使用一个神人套件 pandas_profile
pip install pandas-profiling
profile = ProfileReport(df, title="Pandas Profiling Report")
profile
# Saving the report
profile.to_file("report.html")
接着在 notebook 就会出现可以互动式的结果,可以快速浏览这份资料集的概况,是资料分析工具的一大利器。
df.to_excel('filename.xlsx')
df.to_csv('filename.csv')
<<: [CSS] Flex/Grid Layout Modules, part 13
>>: Day 3:安装 Hexo 前置作业:Node.js、Git、网页编辑器 VS code、文章编辑器 Typora
写测试时,我们基本需要三样东西 Enzyme Enzyme跟React沟通的适配器(Adapter)...
前面提到过使用不同架构(FCDAE(3h),FCDAE(5h))的全连接神经网路除噪模型对两个语音特...
目标 希冀结合Python-shioaji建立理财机器人Mx. Ada,提供报价、下单、帐务及通知功...
这篇接续上一篇,将电影名称爬取後转为json档,今天就要再转为xlsx档,使资料以表格方式呈现。废话...
打起精神来,今天有比昨天更好一点! 这题,我对他的解释是,现在有未知的图,我有些node跟node之...