利用Pandas 读取txt,csv文件,取某一列数据,数据纠错(将列中某个错误数据纠正)

dpandas官方链接

中文版文档

更多内容看官方文档 ↑

虽然都是文本文件,但是csv字段用逗号分隔,txt文件可以用逗号、制表符、空格

python中的pandas库提供将表格型数据读取为DataFrame对象的函数

import pandas as pd 

a = pd.read_csv ('C:/../file.csv')
#read_csv默认制表符为逗号

a = pd.read_csv('C:/../file.txt', sep=',') 
#read_csv可以读取txt,当txt没有逗号分隔的时候,添加sep的分隔符参数,但是如果有制表符,制表符会被读取为\t


a = pd.read_table('C:/../file.txt')
#read_table默认符号为制表符,即不会出现\t在读取内容中,但是使用的时候如果有多个\t就会生成了NaN

a = pd.read_table('C:/../file.txt', sep='\s+')
#添加正则表达式可以消除NAN

如何读取DaraFrame中的某一列数据

data = DataFrame()    #先设定一个DataFrame

data['b']    #选择单列,产生Series, 与 a.b 等效

data[a.columns[1:]]    #这句是取第二列到最后一列的数据

data[1:5]    #这是取第二行到第六行的数据,不是以列取了
#索引的时候,直接输入'column',是以列索引,即是选择单列
#切片索引则是对行进行切片

#使用loc 或者iloc(只取整数)
data.loc[:, ['a','b']]    #选择a到b列
data.loc[1:2, ['a','b']]    #选择a到b列的1到2行
a = data[data['id']==int(str(name[:4]))]
#以某列中的某个值取出DataFrame中的一段

a.loc[:, 'Man'] = int(a['Man'].median())
a.loc[:, 'Woman'] = int(a['Woman'].median())
#将该段中的某条列中的错误值改成该段的中位数

data_result = data_result.append(a)
#重新拼起来一个完整的改正后的DataFrame

上一段代码是由于拿到一个csv的数据集中,某个标签的一段列数据存在错误值

比如理应都是0,却有一、两个1混在其中

于是先按标签取出一段DataFrame,然后再将错误值所在的列直接赋值为中位数

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值