学习python中的pandas有没有好的教程推荐?

这是一篇让你快速认识并掌握pandas的教程,非常适合小白。只要照做,你就能在一天之内初步掌握pandas最常用的用法。

刚开始用pandas的时,我也不知从何学起,今天学了read_csv,明天又学个merge,后天又学个groupby,总之是用到什么学什么,但是这样不好的一点是不能快速系统地掌握Pandas。

对于新手而言,肯定是希望找到能直接拿来用并且上手快教程,这样学起来非常有成就感,这就是今天推荐的pandas Cheatsheet,sheatsheet 中文可以理解成一页纸pandas,相当于我们读书的时候老师划的重点。里面包括了最基础和常用的知识点,非常简洁。话不多说,直接上图。

pandas cheatsheet

那么,话不多说,我们就以一份从某壳网站上爬取的房源为例,一起来体验下pandas的强大吧。

1.导入数据(importing data)

开始之前,你需要安装pandas包(pip install pandas),如果你安装了jupyter notebook,pandas包是自带的哟!

首先,我们导入包

import pandas as pd

然后,我们导入数据(import data),如cheatsheet中显示,pandas支持多种数据源导入,excel、csv、sql、html等等。

df = pd.read_excel('/Users/Downloads/20220723_cdbk_ch.xlsx')

这里我们相当于把读取的结果,传给一个叫df的变量,df是dataframe的缩写,你把他想象成一整二维表就可以,你看输入df我们就得到了下面的结果:

仔细观察表,就可以发现这张表是由行索引(index)加列标题(column)组成的一张二维表,这两个概念在pandas中很重要,往下看,你就会发现经常都会用到。
 

2.检查数据(inspecting data)

导入表过后,我们需要对数据有大概的掌握,比如多少行,多少列,每列的数据类型等等。

df.info()#这个命令可以看到数据集有多少行,多少列,每一列的数据类型,是否有空值,以及列名、数据大小等等

此外,你或许还想知道,每个列的值具体是如何分布的。

df['positionInfo'].value_counts()

小区这一列各值出现的次数,也就是每个小区多少房源在售

3.过滤数据(filter data


 

4.数据清洗(data cleaning)

删除重复项,括号里面可以带参数(subset = ['column_name'])

df = df.drop_duplicates()

重命名列:

df.columns = ['title', 'title_link', 'image', 'houseInfo', 'followInfo', 'positionInfo','totalPrice', 'unitPrice']

删除空值列:

df = df.loc[~df['title'].isna()]

这里我们删除了title值为空的列,也就是一些脏数据。这里的~是不等于,也就是非的意思。

分列:

接下来我们就要用到pandas数据清洗中最为常用的功能,类似于excel中的分列,一起看看:

df['xiaoqu'] = df['title'].str.split(' ').str[0]

这里我们是把小区以空格划分,取第一个部分的内容,str[0]代表取第一个,依次地,str[1]代表取第二个。并且将划分的列重命名为小区作为新的列。

接下来,就是类似这样的分列操作:

#居室
df['jushi'] = df['title'].str.split(' ').str[1]
#房屋朝向
df['chaoxiang'] = df['title'].str.split(' ').str[-1]
#房屋url连接
df['link'] = df['title_link'].str.split(',').str[0]
#房屋楼层
df['floor'] = df['houseInfo'].str.split('\n').str[0]
房屋面积
df['area'] = df['houseInfo'].str.split('|').str[1].str.split('\n').str[0]
房屋关注人数
df['follow_num'] = df['followInfo'].str.split('/').str[0].str.split('人').str[0]
房屋挂牌时间
df['list_date'] = df['followInfo'].str.split('/').str[1].str.split('发').str[0]

然后,再把之前用作提取的列删除掉,也就是只选取我们需要的列:

df = df[['xiaoqu', 'jushi', 'chaoxiang', 'link', 'floor','area','totalPrice','unitPrice','follow_num','list_date']]

运行一下,就得到下面这张非常干净的二维表了:

每行显示了房屋的户型、朝向、楼层位置、建筑年代、房屋总价等关键信息

至此,数据清洗完毕。

5.计算数据(calculate data)

df.groupby(['xiaoqu'])[['totalPrice']].mean()

通过上述命令,可以看到,每个小区的套均总价。此外,可以对任何维度进行任何计算。这里的小区是一个维度,户型也是一个维度,朝向也是一个维度。计算可以对维度进行技术,也可以对数值进行求和、平均值、中位数等运算。

df.groupby(['xiaoqu','chaoxiang'])[['totalPrice']].mean()

由于篇幅有限,就不给大家一一列举代码了,给出的case只是起到抛砖引玉的作用,更多的练习还是要自己下来练习。

 关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、Python练习题

检查学习结果。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值