Transforming DataFrames
本节主要是将pandas处理数据的基本内容,为后面的内容打好基础。
本文大致可以分为探索性分析,数据集如何拆分,数据如何筛选,如何运用符等
import pandas as pd
DF = pd.DataFrame(xxxx)# 我只是想告诉你DataFrame被简化为DF,后文简称DF [Dog.jpg]
探索DF整体
这里主要是看数据集里的整体部分,当你拿到数据集后应该是先对数据集的整体进行一个观察和探索
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jDWVwYhn-1648395190969)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/84a3b108-fef3-4ba8-87b6-c0ca99f26cb0/Untitled.png)]](https://img-blog.csdnimg.cn/5e12f96c7dff4222b212081e3cbe63f9.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGlnb3Vf,size_20,color_FFFFFF,t_70,g_se,x_16)
- 看数据的前几行就用head()
- 观察每列的信息用info()
- DF的数据大小用shape
- 描述性统计每列用describe()
!值得注意的是,df.shape 后面没有括号!
------------------------------手动分割------------------------------
探索DF细节
这里是要告诉你可以用如下的methods去看看df里面
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wCpCyolh-1648395091733)(Data%20Manip%201beb0/Untitled%201.png)]](https://img-blog.csdnimg.cn/2b683beaa8e247b2a962942be9c2daa6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGlnb3Vf,size_20,color_FFFFFF,t_70,g_se,x_16)
values 就是生成一个二维的numpy数组
columns 查看每列的名称
index 可以查看每行的行名称
------------------------------手动分割------------------------------
行排序
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VHb7UJuB-1648395091733)(Data%20Manip%201beb0/Untitled%202.png)]](https://img-blog.csdnimg.cn/e8cf759b5d7b4e27b4cd7be2e12ecac6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGlnb3Vf,size_20,color_FFFFFF,t_70,g_se,x_16)
sort.values里面如果需要降序需要用到 ascending,默认是True(升序),ascending = False就是降序了
注意:sort_values()是小括号不是中括号,如果选择的是一列直接用引号,多列就要把这些列再用中括号框起来。
如果有要求说,先对x1列进行升序排列,再按x2列进行降序排列,用一行写出来,那就是:
df.sort_values(["x1","x2"], ascending=[True,False])
------------------------------手动分割------------------------------
选取对自己有用的 列
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SciHpKNm-1648395091734)(Data%20Manip%201beb0/Untitled%203.png)]](https://img-blog.csdnimg.cn/faa951129298451998cfef07f2f0845d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGlnb3Vf,size_20,color_FFFFFF,t_70,g_se,x_16)
这里就是分别列举了取一列和多列之间的区别
------------------------------手动分割------------------------------
选取对自己有用的 行
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-plP4bHQf-1648395091735)(Data%20Manip%201beb0/Untitled%204.png)]](https://img-blog.csdnimg.cn/392564a33c814e20ba7de5a24cc442ca.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGlnb3Vf,size_20,color_FFFFFF,t_70,g_se,x_16)
总得来说 行列的区别其实就是一个是特征维度,一个是在该特征下的数值。所以选取行不仅要将列选出来,也要给予特定的条件让python去选取行,为什么这么选
多条件筛选的话记得用 & 作为连接,用&说明的是两个条件都需要满足,是交集。不同的条件需要用()括起来表示这个为其中一个筛选条件
------------------------------手动分割------------------------------
行处理相关的操作符
Subsetting rows by categorical variables
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cbe3lv6M-1648395091736)(Data%20Manip%201beb0/Untitled%205.png)]](https://img-blog.csdnimg.cn/ea955a3332234fe0bff9b7e0c13664a2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGlnb3Vf,size_20,color_FFFFFF,t_70,g_se,x_16)
用 ” | “ 代表or,表示条件 ”或者“,这表示满足其中一个条件即可,为并集。
isin()的含义就是字面上的意思:is in。表示在这个数据里面,包含了什么什么,要筛选出来。
比如下面的代码和结果。代码将根据列表‘canu’去找在‘state’列下包含列表中的内容。
这里值的注意的是isin()里面是一个列表
# The Mojave Desert states
canu =["California","Arizona","Nevada","Utah"]# Filter for rows in the Mojave Desert states
mojave_homelessness = homelessness[homelessness['state'].isin(canu)]# See the resultprint(mojave_homelessness)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nN7OCqls-1648395091736)(Data%20Manip%201beb0/Untitled%206.png)]](https://img-blog.csdnimg.cn/e1b845b8429440ae908ed5a3000a03a1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGlnb3Vf,size_20,color_FFFFFF,t_70,g_se,x_16)
------------------------------手动分割------------------------------
添加新的列
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sHpVc4Cy-1648395091736)(Data%20Manip%201beb0/Untitled%207.png)]](https://img-blog.csdnimg.cn/3bf8fa99688947858a31e55451655ef0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGlnb3Vf,size_20,color_FFFFFF,t_70,g_se,x_16)
# 固定搭配
df['new_column']= xxxxx
添加新的列就直接在df后面框起来写上列的名字就完成一半了,等号后面一般可以接一下其他筛选条件和计算条件。
Reference
学习网站:datacamp
链接地址:https://campus.datacamp.com/
版权归原作者 Pigou_ 所有, 如有侵权,请联系我们删除。