python读文件出现特殊字符_python-熊猫:读取列中带有特殊字符的文件

在我拥有的数据中,一些特征值是?.如何用NA代替它们?

编辑

代码和输出如下:

df = pd.read_csv("cca-census-income.csv", header = None)

df.replace('?', np.nan, inplace=True)

df.ix[0,]

23 Other relative of householder

24 1700.09

25 ?

26 ?

27 ?

28 Not in universe under 1 year old

29 ?

30 0

解决方法:

添加参数na_values =’?’到read_csv.

样品:

import pandas as pd

import io

temp=u"""Date Time,a

2010-01-27 16:00:00,?

2010-01-27 16:10:00,2.2

2010-01-27 16:30:00,1.7"""

df = pd.read_csv(io.StringIO(temp),na_values='?')

print (df)

Date Time a

0 2010-01-27 16:00:00 NaN

1 2010-01-27 16:10:00 2.2

2 2010-01-27 16:30:00 1.7

编辑:

谢谢‘shivsn’的建议,添加skipinitialspace = True:

temp=u"""Date Time,a

? , ?

? ,?

2010-01-27 16:30:00,1.7"""

df = pd.read_csv(io.StringIO(temp),na_values=['?', '? '], skipinitialspace =True)

print (df)

Date Time a

0 NaN NaN

1 NaN NaN

2 2010-01-27 16:30:00 1.7

EDIT1按文件:

似乎前面没有空格?:

df = pd.read_csv('census-income.data',

header = None,

na_values=['?'],

skipinitialspace =True)

print (df)

标签:pandas,python-2-7,python,numpy

来源: https://codeday.me/bug/20191026/1940023.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值