我有这个密码:
import pandas as pd
data = pd.read_csv('data.csv', header=None)
print((data[[7]].str[:2]))
我的数据是这样的:
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
我正试图将我的数据集转换为:
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
当我运行代码时,会出现以下错误:
builtins.AttributeError: 'DataFrame' object has no attribute 'str'
如何将数据转换为所需的数据?
谢谢!
最佳答案
您需要为[]
删除一个Series
,这里是double[]
create one columnDataFrame
:
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
但如果要提取数值,请使用
extract
并转换为integer
s: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