Data包含冒号(:)和空格,所以所有列的类型都是object。如何将所有列对象转换为整数或浮点数。
我试过了,但是没有用。
df = pd.concat([df[col].str.split()
.str[0]
.str.replace(':','').astype(float) for col in df], axis=1)
df['col'] = df['col'].astype(int)
print(df)
AttributeError: Can only use .str accessor with string values!
您可以使用regex提取数字,然后将其转换为整数。请看下面的代码:
import re
def to_integer(x):
result = re.findall('[0-9]+', str(x))
num = ''.join(result)
return int(num)
df['col'] = df['col'].apply(to_integer)