close

[Solved] AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas

Hello Guys, How are you all? Hope You all Are Fine. Today I get the following error AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas in python. So Here I am Explain to you all the possible solutions here.

Without wasting your time, Let’s start This Article to Solve This Error.

How AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas Error Occurs?

Today I get the following error AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas in python.

How To Solve AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas Error ?

  1. How To Solve AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas Error ?

    To Solve AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas Error

  2. You can use series to fix this error.dc_listings['price'].series.str.replace(',', '')
  3. AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas

    To Solve AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas Error

  4. You can use series to fix this error.dc_listings['price'].series.str.replace(',', '')

Solution 1

As the error states, you can only use .str with string columns, and you have a float64. There won’t be any commas in a float, so what you have won’t really do anything, but in general, you could cast it first:

dc_listings['price'].astype(str).str.replace...

For example:

In [18]: df
Out[18]:
          a         b         c         d         e
0  0.645821  0.152197  0.006956  0.600317  0.239679
1  0.865723  0.176842  0.226092  0.416990  0.290406
2  0.046243  0.931584  0.020109  0.374653  0.631048
3  0.544111  0.967388  0.526613  0.794931  0.066736
4  0.528742  0.670885  0.998077  0.293623  0.351879

In [19]: df['a'].astype(str).str.replace("5", " hi ")
Out[19]:
0    0.64 hi 8208 hi  hi 4779467
1          0.86 hi 7231174332336
2            0.04624337481411367
3       0. hi 44111244991 hi 194
4          0. hi 287421814241892
Name: a, dtype: object

Solution 2

Two ways:

  1. You can use series to fix this error.dc_listings['price'].series.str.replace(',', '')

  1. And if series doesn’t work you can also alteratively use apply(str) as shown below:dc_listings['price'].apply(str).str.replace(',', '')

Summery

It’s all About this issue. Hope all solution helped you a lot. Comment below Your thoughts and your queries. Also, Comment below which solution worked for you? Thank You.

Also, Read