python - 如何在 Python 中使用包含冒号(:) 和空格的数据框将对象转换为整数?
问题描述
数据包含冒号(:) 和空格,所以所有的列类型都是对象。如何将所有列对象转换为整数或浮点数。
我试试这个,但它不起作用。
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!
解决方案
您可以使用正则表达式提取数字,然后将其转换为整数。请看下面的代码:
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)
推荐阅读
- typescript - 如何测试两种类型是否完全相同
- c - 我可以使用管道作为父级读取并写入子级吗?
- c# - 如何从自定义类型转换为 HttpPostedFileBase
- android - Transformations.map 和 MediatorLiveData 使用空对象引用使应用程序崩溃
- python - 连接字符嵌入和词嵌入
- docker - 使用 http post 进行活跃度探测
- java - onNext 为 ArrayList 的每个元素触发,而不是使用 RXJava 触发一次
- python - 使用 pandas.DataFrame 获取 excel 单元格的格式?
- angular - 如何清除Angular中添加的元素?
- javascript - 如何使用 Flask 和 Socket.io 加入和离开房间的简明示例?