[英]converting string to int: Python
I have a Series Dataobject which have dtype as object. 我有一个以dtype为对象的Series Dataobject。 It contains int in str format as well as many strings.
它包含str格式的int以及许多字符串。 I want to convert only int to int type and del rest.
我只想将int转换为int类型和del rest。
Example: 例:
'1','3','sd34','4','r5'
Result: 结果:
[1, 3, 4]
Here's a simple one-liner. 这是一个简单的单线。
output = [int(s) for s in data_list if s.isdecimal()]
You may also use a generator expression in case the dataset is large. 如果数据集很大,也可以使用生成器表达式。 This will be much more memory efficient for a single iteration over the data.
对于数据的单次迭代,这将大大提高内存效率。
output_gen = (int(s) for s in data_list if s.isdecimal())
Last option, if you wish to be extremely efficient, is to use full C-level iterators: 如果您希望非常高效,那么最后一个选择是使用完整的C级迭代器:
output_gen = map(int, map(str.isdecimal, data_list))
data = ['1','3','sd34','4','r5']
result = []
for d in data:
try:
result.append(int(d))
except:
pass
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.