六个实用Pandas数据处理代码
作者:??编程学习网???? 发布时间:2023-03-01 05:29:00
前言:
今天和大家分享自己总结的6个常用的Pandas数据处理代码,对于经常处理数据的coder最好熟练掌握。
选取有空值的行
在观察数据结构时,该方法可以快速定位存在缺失值的行。
df = pd.DataFrame({'A': [0, 1, 2],
'B': [0, 1, None],
'C': [0, None, 2]})
df[df.isnull().T.any()]
输出:
A B C A B C
0 0 0.0 0.0 1 1 1.0 NaN
1 1 1.0 NaN --> 2 2 NaN 2.0
2 2 NaN 2.0
快速替换列值
实际数据处理经常会根据一些限定条件来替换列中的值。
df = pd.DataFrame({'name':['Python', 'Java', 'C']})
# 第一种方式
df['name'].replace('Java', 'JavaScript', inplace=True)
# 第二种方式
df.loc[df['name'].str.contains('Java'), 'name'] = 'JavaScript'
输出:
name name
0 Python 0 Python
1 Java ---> 1 JavaScript
2 C 2 C
对列进行分区
很多情况下,对于数值类型的数据,我们需要分区来计算每个区间数据出现的频率。这时用 pd.cut 就能很好的解决这一问题。
import random
age = random.sample(range(90), 20)
cut_res = pd.cut(age, bins=[0, 18, 35, 60, 90])
# cut_res type:<class 'pandas.core.arrays.categorical.Categorical'>
cut_res.value_counts()
输出:
(0, 18] 6
(18, 35] 1
(35, 60] 6
(60, 90] 7
将一列分为多列
在文本数据清洗时,一些列中存在分隔符('', ',', ':')分隔的值,我们只需将该列根据分隔符进行 split 即可。
import pandas as pd
df = pd.DataFrame({'address': ['四川省 成都市',
'湖北省 武汉市',
'浙江省 杭州市']})
res = df['address'].str.split(' ', expand=True)
res.columns = ['province', 'city']
输出:
province city
0 四川省 成都市
1 湖北省 武汉市
2 浙江省 杭州市
expand
参数选择是否扩展为 DataFrame,False 则返回 Series
中文筛选
同样在清洗过程中,往往会出现一些不需要的中文字段,这时直接用 str.contains 筛选即可。
df = pd.DataFrame({'mobile_phone':
['15928765644',
'15567332235',
'暂无']})
df[~df['mobile_phone'].str.contains('[\u4e00-\u9fa5]')]
输出:
mobile_phone mobile_phone
0 15928765644 0 15928765644
1 15567332235 --> 1 15567332235
2 暂无
更改列的位置
有时我们需要调整列的位置,当数据列较少时,可以用下面的方式
df = pd.DataFrame({'name': ['A', 'B', 'C'],
'age': [10, 20, 30],
'gender': [0, 1, 0]})
df = df[['name', 'gender', 'age']]
输出:
name age gender name gender age
0 A 10 0 0 A 0 10
1 B 20 1 --> 1 B 1 20
2 C 30 0 2 C 0 30
如果列较多,那么,一个个列举出来会比较繁琐,推荐下面插入的方式。
col = df['gender']
df.drop('gender', axis=1, inplace=True)
df.insert(1, 'gender', col)
这就是今天分享的主要内容,实践永远是最好的学习方式,记忆的也更牢固。
来源:https://juejin.cn/post/7083696267372527653
猜你喜欢
- display_errors 错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项。错误回显可以暴露出非常多的敏感信息,
- 前言在本文中,我将展示如何将对象从一个图像添加到另一个图像。为此,我们需要:1.背景图像;2.对象3.对象的mask(mask为黑色,其他空
- 简介:破解rar和zip压缩包。Windows下使用PyCharm软件。1.步骤1.环境指令pip install 安装。如果是rar文件需
- HTML表单是网站交互性的经典方式。 本章将介绍如何用Django对用户提交的表单数据进行处理。一、HTTP 请求HTTP协议以"
- 本文主要探索的是python的Crypto模块实现AES加密,分享了具体实现代码,下面看看具体内容。学了使用Crypto模块的AES来加密文
- 首先看一下这三个函数:rtrim() ltrim() trim();rtrim()定义以及用法: rtrim() 函数移除字符串右侧的空白字
- 大家都知道,在SQL脚本中设置多字段做关键字相对比较简单,例:primary key(id1,id2) ,但用脚本建数据库就比较麻烦了。那么
- 等间距取值a = np.linspace(float(-pi), float(pi), 100)从-pi到pi取100个值对区间进行等间距取
- 导入模块from bs4 import BeautifulSoupsoup = BeautifulSoup(html_doc,"h
- 这篇文章主要介绍了python代码如何实现余弦相似性计算,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 12306火车票购票软件大家都用过,怎么用Python写一个命令行的火车票查看器,要求在命令行敲一行命令来获得你想要的火车票信息,下面通过本
- Django原生的TextField并不友好,集成TinyMCE富文本编辑器Django版本:1.11.5TinyMCE版本:4.6.7第一
- 数据库:30万条,有ID列但无主键,在要搜索的“分类”字段上建有非聚集索引过程T-SQL: /* 用户自定义函数:执行时间在115
- 区别:series,只是一个一维数据结构,它由index和value组成。dataframe,是一个二维结构,除了拥有index和value
- 共轭梯度法是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hes
- User Centered Design 以用户为中心的设计,一说到这个很多人马上想到互联网和软件的设计,因为在IT、互联网行业提得最多。其
- 本文实例为大家分享了python学生管理系统的具体代码,供大家参考,具体内容如下```name_list = [] # 存储学生信息字典,学
- 【原文地址】Tip/Trick: Url Rewriting with ASP.NET 【原文发表日期】 Monday, February
- 本文实例分析了python开发之list操作。分享给大家供大家参考,具体如下:对python中list的操作,大家可以参考《Python l
- 如下所示:import urllib,json,requestsurl = 'http://127.0.0.1:8000/accou