Skip to content Skip to sidebar Skip to footer

Pandas Error: Can Only Use .str Accessor With String Values, Which Use Np.object_ Dtype In Pandas

I have data in my .txt file as below: 029070 ***** 190101010600 270 36 OVC ** 0.0 ** ** I want to extract 190101 from the column 3, I am getting AttributeError: Can only use .str

Solution 1:

The problem here is that when you read your txt file, in it is casting "c" as an integer and the .str accessor will not work with non-string dtypes, you can fix this problem a couple of ways:

Option 1

Cast the integer as a string in the print statement.

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

0190101
Name: c, dtype: object

Option 2

Cast as a string on the into the dataframe with dtype parameter in read_csv

data = pd.read_csv(txtfile, sep=' ', header=None, dtype={2:'str'})
data.columns = list('abcdefghij')
print(data.c.str[0:6]

0190101
Name: c, dtype: object

Post a Comment for "Pandas Error: Can Only Use .str Accessor With String Values, Which Use Np.object_ Dtype In Pandas"