Pandas错误:只能使用带有字符串值的.str访问器,它在pandas中使用np.object_ dtype

时间:2018-02-24 02:23:47

标签: python pandas

我的 .txt 文件中有数据如下:

029070 ***** 190101010600 270 36 OVC ** 0.0 ** **

我想从第3列中提取190101,我得到 AttributeError:只能使用.str访问器和字符串值,在pandasbelow中使用np.object_ dtype是我的python pandas 。以下是我的代码

import pandas as pd
import numpy as np
import re

data = pd.read_csv('dummy.txt', sep=" ", low_memory=False, header=None)
data.columns = ["a", "b", "c","d","e","f","g","h","i","j"]

print(data.c.str[0:6])

1 个答案:

答案 0 :(得分:2)

这里的问题是,当你阅读你的txt文件时,它正在投射" c"作为一个整数,.str访问器不能用于非字符串dtypes,你可以通过以下两种方式解决这个问题:

选项1

将整数作为字符串转换为print语句。

print(data.c.astype(str).str[0:6])

0    190101
Name: c, dtype: object

选项2

dtype

read_csv参数的数据框中作为字符串投射
data = pd.read_csv(txtfile, sep=' ', header=None, dtype={2:'str'})
data.columns = list('abcdefghij')
print(data.c.str[0:6]

0    190101
Name: c, dtype: object