Python数据清洗之Dataframe中不同分隔符数据的清洗
发现问题
文本文件: test_file.txt
id,电影名称,上映时间
001,《红海行动》,2018-02-16
002,《厉害了,我的国》,2018-03-02
003;《闺蜜2》;2018-03-02
004,《捉妖记2》,2018-02-16
005,《西游记女儿国》,2018-02-16
我们使用pd.read_csv读取文件的时候,默认分隔符为半角逗号,当然,我们也可以使用sep指定分隔符。
笔者在一次使用python处理数据时,遇到了不同分隔符的情况,大部分数据使用半角逗号作为分隔符,有几条数据使用半角分号作为分隔符,转换成dataframe之后,使用半角分号作为分隔符的数据就缩至一列,其他列为空。
处理思路
通过观察数据,我们发现大部分数据使用的是半角逗号作为分隔符,只有一条数据使用半角分号作为分隔符,使用pd.read_csv读取之后,该条数据堆在了第一列。
我们可以先使用半角逗号分隔符读取大部分数据,然后通过循环,单独对每一条数据进行判断,找到不是以半角逗号作为分隔符的“异常数据”,使用半角分号对该数据进行切分,然后再使用pd.Series方法,设置index=data.columns,存入到原先的数据行。
文件&代码
Python程序文件: test.py
# encoding: utf-8
import pandas as pd
data = pd.read_csv('test_file.txt', sep=',')
for i in range(len(data)):if len(data.iloc[i, 0]) > 3: # 通过判断字长,得到异常数据# 通过半角分号切分数据,并设置列索引,将数据存入原行data.iloc[i] = pd.Series(data.iloc[i, 0].split(';'), index=data.columns)
print data
运行结果
id 电影名称 上映时间
0 001 《红海行动》 2018-02-16
1 002 《厉害了,我的国》 2018-03-02
2 003 《闺蜜2》 2018-03-02
3 004 《捉妖记2》 2018-02-16
4 005 《西游记女儿国》 2018-02-16
Python数据清洗之Dataframe中不同分隔符数据的清洗相关推荐
- python pandas 分割DataFrame中的字符串及元组
python pandas 分割DataFrame中的字符串类型数据的方法 文章目录 1.使用str.split()方法 2.使用join()与split()方法结合 3. 使用apply方法分割元组 ...
- R语言使用多个数据类型不同的向量数据创建一个dataframe数据对象、使用列名称(column name)访问dataframe中的指定数据列的数据
R语言使用多个数据类型不同的向量数据创建一个dataframe数据对象.使用列名称(column name)访问dataframe中的指定数据列的数据 目录 R语言使用多个数据类型不同的向量数据创建一 ...
- 【Python数据分析】利用Python替换EXCEL表格中指定的数据
如何利用Python替换EXCEL表格中指定的数据?今天与大家一起分享一下DataFrame对象的replace()函数,replace()函数可EXCEl中的数据内容,其语法格式如下: 表达式.re ...
- pandas使用方括号[]或者loc函数、基于列名称或者列名称列表索引dataframe中的单个数据列或者多个数据列(accessing columns of a dataframe)
pandas使用方括号[]或者loc函数.基于列名称或者列名称列表索引dataframe中的单个数据列或者多个数据列(accessing columns of a dataframe using co ...
- pandas使用iteritems函数迭代地查看dataframe中的每个数据列(iterate over each column of a dataframe)
pandas使用iteritems函数迭代地查看dataframe中的每个数据列(iterate over each column of a dataframe) 目录 pandas使用iterite ...
- pandas使用query函数删除dataframe中两个数据列加和小于某一特定值的数据行(removing rows based on multiple dataframe column value
pandas使用query函数删除dataframe中两个数据列加和小于某一特定值的数据行(removing rows based on multiple dataframe column value ...
- pandas将dataframe中的特定数据列的内容转化为列表list数据(convert dataframe column values into a list)
pandas将dataframe中的特定数据列的内容转化为列表list数据(convert dataframe column values into a list) 目录 pandas将datafra ...
- pandas使用query函数和sample函数、使用query函数筛选dataframe中的特定数据行并使用sample函数获取指定个数的随机抽样数据
pandas使用query函数和sample函数.使用query函数筛选dataframe中的特定数据行并使用sample函数获取指定个数的随机抽样数据(query dataframe and ran ...
- pandas使用query函数查询dataframe中某一个数据列在指定数据范围的数据行(rows where value is between two values in dataframe)
pandas使用query函数查询dataframe中某一个数据列在指定数据范围的数据行(rows where value is between two values in dataframe) 目录
最新文章
- WordPress导出全静态化网站
- 两个数从大到小排列输出
- Linux 文件系统与设备文件系统 (一)—— udev 设备文件系统
- 【转】刨根究底字符编码之十五——UTF-32编码方式
- 求奇数和的c语言程序,C语言程序求1—100之间的奇数和和偶数和
- 微信小程序支付-付款(Java后台)
- codekit for mac(开发人员必备编译工具)
- 德卡Z90读卡器读取社保卡,德卡Z90读卡器CSharp示例程序源码
- 手工笔筒制作教程(附彩色贴图分享)
- 基于python的毕业设计仓库库存管理系统
- 机器学习知识总结 —— 8. 什么是有监督学习、无监督学习、半监督学习
- 线性回归方程b保留几位小数_简单线性回归分析(python)
- MonoJSG:联合语义和几何代价函数的单目3D目标检测(CVPR2022)
- 聊聊flink TaskManager的managed memory
- cosmos官方nameservice测试项目详解(代码注释+官方文档错误纠正)
- 安卓手机用ADB命令打印APP的崩溃日志
- 一篇文章让你掌握HTML+CSS
- 电脑桌面宠物java,java 桌面动态宠物
- BloomFilter布隆过滤器
- 人听到坏消息的反应_如何应对坏消息,正确传达坏消息的七个方法
热门文章
- Linux CentOS中按tab键不能自动补全解决办法
- 2021.5.12兴业数金笔试知识点整理
- 傀儡娃娃作者 李欢:插画艺术IP的商业化之路 | 点评家
- 谷歌Google authenticator 整合到JAVA项目
- BugKu——字符?正则?小记
- 手机联系人头像包_拉杆箱早过时了,出差浙江才发现“差旅包”正火,方便又有面儿...
- 史上最简单的抖音吸粉方法
- 网上炒作的哪些日赚千元不是梦的手机赚钱项目是真的吗
- 05_Pandas删除,替换并提取其中的缺失值NaN(dropna,fillna,isnull)
- 加拿大约克大学计算机科学研究生如何申请,2020年加拿大约克大学研究生申请条件是什么?...