I've this code:
import pandas as pd
data = pd.read_csv('data.csv', header=None)
print((data[[7]].str[:2]))
My data is like this:
1,a,0,11,1,11.09,aa, 0 dollars
1,b,0,11,1,17.38,bb, 1 dollar
3,c,0,11,1,24.68,cdd, 12 dollares
And I'm trying to transform my dataset into:
1,a,0,11,1,11.09,aa, 0
1,b,0,11,1,17.38,bb, 1
3,c,0,11,1,24.68,cdd, 12
When I run my code I'm getting this error:
builtins.AttributeError: 'DataFrame' object has no attribute 'str'
How can I transform my data into the data I want?
Thanks!
You need remove one [] for Series, here double [] create one column DataFrame:
data[7] = data[7].str[:2]
print (data)
0 1 2 3 4 5 6 7
0 1 a 0 11 1 11.09 aa 0
1 1 b 0 11 1 17.38 bb 1
2 3 c 0 11 1 24.68 cdd 1
But if want extract numeric value use extractand cast to integers:
data[7] = data[7].str.extract('(\d+)', expand=False).astype(int)
print (data)
0 1 2 3 4 5 6 7
0 1 a 0 11 1 11.09 aa 0
1 1 b 0 11 1 17.38 bb 1
2 3 c 0 11 1 24.68 cdd 12
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With