我有这个密码:

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并转换为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

10-05 21:10
查看更多