python如何将字符转换为数字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何将字符转换为数字相关的知识,希望对你有一定的参考价值。
参考技术A int(x [,base ]) 将x转换为一个整数long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
```
print(eval('2.00+1'))#对字符串表达式直接运算
print(type(eval('2.00+1')))#得出浮点数的结果
print(eval('2.00'))#对单个字符串运算
print(type(eval('2.00')))#表现为直接转化为浮点数,我们要的就是她,将文本型数字,转化为数值型数字
```
Python:如何将列中只有数字分量的字符串条目转换为整数? [复制]
【中文标题】Python:如何将列中只有数字分量的字符串条目转换为整数? [复制]【英文标题】:Python: How to convert string entries with only numeric components in a column to integer? [duplicate] 【发布时间】:2020-05-31 20:18:24 【问题描述】:我有一个包含字符串类型列的数据框,其中包含字符和数字条目。
下面是一个例子 df:
A B
101a5 12222
11111 e2edw2
22222 33333
asxaa 0045
我想将字符串中只有数值的条目转换为整数,但将其余部分保留为字符串。
最好的方法是什么?
提前致谢!
【问题讨论】:
因为你在一列中有混合类型,所以无论如何你都会得到object
dtype。
【参考方案1】:
您可以使用以下功能:
def func(x):
try:
return int(x)
except ValueError:
return x
df = df.applymap(func)
print(df.applymap(type))
输出:
A B
0 <class 'str'> <class 'int'>
1 <class 'int'> <class 'str'>
2 <class 'int'> <class 'int'>
3 <class 'str'> <class 'int'>
【讨论】:
【参考方案2】:只需将数据帧转换为整数并忽略任何可能返回原始字符串的错误。
再简单不过了……
df.astype(int, errors='ignore')
# pandas 1.0.0
>>> df.astype(int, errors='ignore').applymap(type)
A B
0 <class 'str'> <class 'int'>
1 <class 'int'> <class 'str'>
2 <class 'int'> <class 'int'>
3 <class 'str'> <class 'int'>
【讨论】:
谢谢!成功了!以上是关于python如何将字符转换为数字的主要内容,如果未能解决你的问题,请参考以下文章