在Python当中模块Pandas在数据分析中以及可视化当中是被使用的最多的,也是最常见的模块,模块当中提供了很多的函数和方法来应对数据清理数据分析数据统计,今天小编就通过20个常用的函数方法来为大家展示一下其中的能力,希望大家能有所收获。

1.读取数据

Pandas当中的read_csv的方法能够去读取csv类型的文件,然后转化成类似于表格形式的dataframe,

marketing = pd.read_csv("DirectMarketing.csv")
groceries = pd.read_csv("Groceries_dataset.csv")
df = pd.read_csv("Churn_Modelling.csv")

要是我们只想展示一部分,比方说其中几行的数据,当然也可以这么来操作

df = pd.read_csv("Churn_Modelling.csv", nrows = 5000)
df.shape
(5000,14)

当然其中几列的数据,也可以这么来操作,例如下面的代码选中“Gender”、“Age”以及“Tensure”等几列

df1 = pd.read_csv("Churn_Modelling.csv", usecols=['Gender', 'Age', 'Tenure', 'Balance'])

2.查看缺失值

要是我们想要看一下数据集当中的缺失值的话,可以,

groceries.isna().sum()Member_number      0
Date               0
itemDescription    0
dtype: int64

3. 填充缺失值

下面我们来填充数据集当中的缺失值,我们有很多种方式方法来填充数据集当中的缺失值,比方说中位数、平均数、众数等等

# 这里用的是众数来填充,当然也可以用平均数mean,中位数median
groceries['itemDescription'].fillna(value=groceries['itemDescription'].mode()[0], inplace=True)# 或者是用"fillna"这个方法
groceries["Date"].fillna(method = "ffill", inplace = True)

假若我们想把这些缺失值给抹去,也很好来操作,使用“drop”方法,“inplace=True”表明原数组内容直接被改变

groceries.drop(axis = 0, how = 'any', inplace = True)

4. 查看某一列的数据类型

首先我们来查看一下数据集当中每一列的数据类型,

groceries.dtypesMember_number       int64
Date               object
itemDescription    object
dtype: object

我们看到的是,“Date”这一列的数据类型是“object”,我们可以通过“astype”这个方法来改变这一列的数据类型

groceries['Date'] = groceries['Date'].astype("datetime64")

当然还有“to_datetime”这个方法来尝试

groceries['Date'] = pd.to_datetime(groceries['Date'])

除此之外,我们再读取数据的时候,也可以通过里面的参数“parse_dates”来改变这一列的数据类型

groceries = pd.read_csv("Groceries_dataset.csv", parse_dates=['Date'])
groceries.dtypesMember_number               int64
Date               datetime64[ns]
itemDescription            object
dtype: object

5. 筛选出数据

通常来说有很多种方式方法来筛选数据以得出我们想要的结果,比方说我们可以通过一些逻辑符号“==”、“!=”或者是“>”“<”等方式,例如下面的代码便是挑选出“itemDescription”等于是“pip fruit”的数据

groceries[groceries["itemDescription"] == "pip fruit"].head()

当然还有“isin”这个方法来从一定的范围内选出数据,我们能够传入一个列表,在列表中注明我们要筛选的数据,例如下面的代码,我们筛选出“Member_number”在这些范围当中的数据

groceries[groceries.Member_number.isin([3737, 2433, 3915, 2625])].head()

“query”这个方法也可以帮助到我们

groceries.query('3000 < Member_number < 5000').head()

“where”这个方法也行

groceries[['Member_number','Date', 'itemDescription']].where(groceries['Member_number'] > 2500, 0).head()

6. 排除数据

“~”符号用来表明我们需要筛选出不再我们给定的范围之内的数据,比方说下面的代码我们筛选出“Member_number”不再这些范围当中的数据

groceries[~groceries.Member_number.isin([3737, 2433, 3915, 2625])].head()

7. 数据统计

“value_counts”方法是被使用最广泛的工具,在数据统计和计数当中,计算一下该列当中每大类的离散值出现的频率

marketing["OwnHome"].value_counts()Own     516
Rent    484
Name: OwnHome, dtype: int64

要是我们将其中的参数“normalize”改成“True”,它也将以百分比的形式出现,

marketing.Catalogs.value_counts(normalize=True)12    0.282
6     0.252
24    0.233
18    0.233

除此之外,我们也可以用“nunique”这个方法来查看某一列离散值当中有几大类,例如下面的代码中“OwnHome”这一列只有两大类

marketing["OwnHome"].nunique()2

8. 将某一列作为索引

一般数据集中的索引大家可以理解为就是“行数”,也就是“第一行”、“第二行”,当然我们可以通过“set_index”这个方法来将任意某一列设置为我们需要的索引,比方说数据集中的“Date”字段被设置成了索引

groceries.set_index('Date', inplace=True)

9. 重新设置索引

当我们去除掉某几行数据之后,数据集当中的索引会出现“断裂”的情况,同理当我们合并两个数据集的时候,索引也不会被重新设置,要是上面的情况出现,数据集中的索引便不是“连续”的了,我们可以通过“reset_index”来重新设置索引,例如下面的数据集的索引并不是连续的

groceries.reset_index(drop=True, inplace=True)

10. 关于“loc”和“iloc”

“loc”方法和“iloc”方法用法想类似,其中比较重要的一点是“loc”方法一般可以接受标签,例如

groceries.loc[:,["Member_number", "Date"]].head()

而“iloc”里面要是放标签的话,则会报错,一般“iloc”里面放的则是索引,

# 取第一列和第二列两列的数据
groceries.iloc[:,[0, 1]].head()

11. 提取“月份”和“年份”

我们可以通过“dt”这个方法来提取时间类型的数据中的年份和月份,例如

groceries['Year'] = groceries['Date'].dt.year
groceries['Month'] = groceries['Date'].dt.month

12. 去除某几列的数据

要是碰到我们想去除掉某几列的数据的时候,可以使用“drop”方法,例如,我们去除掉“Year”和“Month”这两列

groceries.drop(['Year','Month'], axis=1, inplace=True)

13. 增加某几列的数据

要是想在数据集当中增加几列的时候,我们可以使用“insert”方法,例如,我们再第一列和第二列的位置插入“Month”数据和“Year”的数据

year = groceries['Date'].dt.year
month = groceries['Date'].dt.monthgroceries.insert(1, 'Month', month)
groceries.insert(2, 'Year', year)

14. 排名统计

我们可以为某一列数据做一个排名,使用“rank”这个方法

groceries['Member_number_rank'] = groceries['Member_number'].rank(method = 'first', ascending = False).astype('int')

15. 展示小数点后面的几位小数

数据集当中对于浮点型的数字,小数点后面可能仍然会有很多的数字,我们可以通过“round”方法来进行调整,例如我们保留一位小数

df.round(1).head()

16. 基于字符串去筛选数据

我们有时候需要基于字符串去进行数据的筛选,例如,我们要筛选出下面的数据集当中顾客的名字是以“Mi”开头的顾客,我们可以这么来做

df[df['Surname'].str.startswith('Mi')].head()

17. 基于字符串的长度来筛选数据

有时候我们也可以通过字符串的长度来筛选数据,例如我们通过下面的代码筛选出“itemDescription”这个字段长度大于20的数据

groceries[groceries.itemDescription.str.len() > 20].head()

18. 对离散值类型的数据进行分离

我们可以对离散值类型的某一列数据,当中是字符串的数据,进行分离,例如我们遇到“Date”这一列当中的数据是字符串,然后我们可以通过“split”这个方法来进行字符串的分离,例如下面的代码将“Date”这一列当中的月份数据给分离出来了

groceries['Month'] = groceries['Date'].str.split('-', expand=True)[1]

19. 画图

我们可以在已有数据集的基础上,通过“plot”这个方法以及里面的参数“kind”来进行可视化,例如我们想要话直方图的话

df['Balance'].plot(kind='hist', figsize=(10,6), title='Customer Balance')

20. 标注重点

我们有时候可能需要对数据集当中某些数据打标签,表上颜色来显示其重要性,在“Pandas”模块中有“style”这个方法可以使用,例如下面的代码将“Salary”以及“Catalogs”这两列的最大值标出来了

df_new.style.highlight_max(axis = 0, color = "yellow")

推荐阅读:入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|年度爆款文案1).卧槽!Pdf转Word用Python轻松搞定!2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密 4).80行代码!用Python做一个哆来A梦分身 5).你必须掌握的20个python代码,短小精悍,用处无穷 6).30个Python奇淫技巧集 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货 8).再见Python!我要学Go了!2500字深度分析!9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片点阅读原文,领AI全套资料!

分享几个常用的Python函数,助你快速成为Pandas大神!!相关推荐

  1. 分享20个常用的Python函数,轻松玩转Pandas!!

    作者/俊欣 在Python当中模块Pandas在数据分析中以及可视化当中是被使用的最多的,也是最常见的模块,模块当中提供了很多的函数和方法来应对数据清理.数据分析和数据统计,今天小编就通过20个常用的 ...

  2. 100多个常用的Python函数!(部分函数含代码解读)

    目录 一.前言 二.基础函数 三.流程控制 四.列表 五.元组 六.字符串 七.字典 八.函数 九.进程和线程 十.模块与包 十一.文件操作 十二.修饰器/装饰器 十三.正则 参考 一.前言 我记得我 ...

  3. python黑科技自动p图_大神级Python工程师是怎么P图的,带你用Python玩转P图

    群内不定时分享干货,包括最新的python企业案例学习资料和零基础入门教程,欢迎初学和进阶中的小伙伴入群学习交流 1.PIL:Python影像库 PIL或者Python Imaging Library ...

  4. Excel常用快捷键,你也可以成为大家口中的大神

    掌握复制.粘贴,相信每个职场人都能骄傲地说"自己熟练使用Excel",果真如此不害臊吗?不出10秒钟,肯定被面试官问得哑口无言.快捷键太多,记住几个常用的,收藏起来,需要的时候过来 ...

  5. python 知乎美女_知乎大神教你用Python爬取网站美女图,附代码!

    都知道Python的抓取功能强大,可以帮我们从海量的数据中爬取所需要的进行分析.下面,就给大家分享知乎大神怎么用Python爬取高颜值美女! 1.数据源 知乎话题『美女』下所有问题中回答所出现的图片 ...

  6. python(numpy,pandas8)——pandas大范围赋值和增加特定数据,处理丢失数据(nan)

    文章目录 前言 pandas大范围赋值 增加空数据 处理丢失数据(nan) isnull:查看哪个数据是nan dropna:直接丢掉 fillna:赋值为0 前言 根据 莫烦Python的教程 总结 ...

  7. python 知乎美女_知乎大神用Python爬取高颜值美女(爬虫+人脸检测+颜值检测)

    原标题:知乎大神用Python爬取高颜值美女(爬虫+人脸检测+颜值检测) 1 数据源 知乎话题『美女』下所有问题中回答所出现的图片 2 抓取工具 Python 3,并使用第三方库 Requests.l ...

  8. c++ cout头文件_C/C++知识分享:C++常用内置函数你会几个,使用过几次呢?

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:Regina520 在 C++ 中,除了可以创建各种函数,还包含了各 ...

  9. C/C++知识分享:C++常用内置函数你会几个,使用过几次呢?

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:Regina520 在 C++ 中,除了可以创建各种函数,还包含了各 ...

最新文章

  1. .net连接mysql数据_.net连接MYSQL数据库的方法及示例!
  2. 和组内作者consent的模板 亲测有效
  3. mysql二阶段提交有什么问题_MySQL的事务两阶段提交的技术有什么意义?
  4. jdbc如何插入clob_让我们回顾一下如何通过JDBC插入Clob或Blob
  5. c语言画谢宾斯基三角形
  6. 信息学奥赛一本通(1028:字符菱形)
  7. 【C语言】数据结构C语言版 实验7 二叉树
  8. 解读webpack的bundle.js
  9. R语言开发软件包(打包)
  10. 通过模板生成Excel表格——XLSTransformer
  11. 百度搜索中url的参数解析
  12. Cesium 鼠标单击和双击事件
  13. 进化树构建的方法原理及检验
  14. 树梅派应用22:树莓派 SAKS 扩展板实用应用 之 DS1307 RTC 时钟模块
  15. 在 RedHat、 CentOS、 Fedora 上安装 Teamviewer 9(转)
  16. 释放租赁红利,中国长租公寓行业创新模式探讨和分析
  17. 形容词做状语(少见)
  18. python数据处理——pandas.read_csv()指定行索引和列索引
  19. HDU-5115-Dire Wolf
  20. DBUS介绍与Linux C实例

热门文章

  1. halcon linux qt,Halcon C++混合编程学习之Qt 实现检测焊接点
  2. 免安装Oracle客户端就能使用pl/sql developer
  3. Hack The Box——OpenKeyS
  4. Memcached使用入门
  5. java语言与物联网有关吗_java物联网是做什么的
  6. 【C++学习笔记】C++模板
  7. 云产品测试报告书写指南
  8. 巨量算数 - 抖音用户画像
  9. iOS Mobile中input隐藏输入光标
  10. ListBox控件的使用