我的 .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])
答案 0 :(得分:2)
这里的问题是,当你阅读你的txt文件时,它正在投射" c"作为一个整数,.str访问器不能用于非字符串dtypes,你可以通过以下两种方式解决这个问题:
将整数作为字符串转换为print语句。
print(data.c.astype(str).str[0:6])
0 190101
Name: c, dtype: object
在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