![](/img/trans.png)
[英]how to convert data with float, int and strings to just strings and float
[英]How to convert float strings to integer strings?
我有一個浮點數列表(顯示為字符串)和 NaN 值。
import numpy as np
mylist = ['1.0', '0.0', np.nan, 'a']
我需要將浮點字符串值轉換為整數字符串值,同時忽略其余記錄:
mylist = ['1', '0', np.nan, 'a']
我該怎么做?
我寫了下面的代碼,但我不知道如何處理異常np.nan
, a
等。
mylist2 = []
for i in mylist:
mylist2.append(str(int(float(n))))
您可以使用調用函數的映射將它們轉換為整數:
def to_int(x):
try:
x = str(int(float(x)))
except:
pass
return x
np.array(list(map(to_int, mylist)), dtype=object)
# array(['1', '0', nan, 'a'], dtype=object)```
盡管有不同的方法可以實現這一點。 但讓我們走你的路。
這可能會有所幫助。
mylist2 = []
for i in mylist:
try:
mylist2.append(str(int(float(n))))
except:
pass
假設您只想在原始值不是可以轉換為整數的數字字符串時使用它們,您可以編寫一個輔助函數來嘗試進行轉換,並在引發異常時返回原始值。
def try_int(s):
try:
return str(int(float(s)))
except:
return s
mylist2 = [try_int(s) for s in mylist]
請注意,從 float 字符串到 int 的轉換有時會使字符串更長; 例如,字符串'9e200'
將被轉換為一個 201 位的整數字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.