第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在python的列表中將float轉(zhuǎn)換為int?

如何在python的列表中將float轉(zhuǎn)換為int?

UYOU 2021-12-17 16:20:07
我在 python 列表中將 float 轉(zhuǎn)換為 int 時遇到問題。列表的元素之一如下所示:{'artForm': 'Madur',  'artistName': 'Bharati Dolai',  'gender': 'F',  'district': 'Paschim Medinipur',  'phone': '',  'artisanCard': {'exists': 'N', 'cardNo': ''},  'dob': '',  'age': 45.0,  'year': 1971.0,  'education': 'I',  'childrenGoToSchool': 'Y'}我無法將ageand轉(zhuǎn)換year為 int。我的代碼:for i in range(len(d)):    int(d[i]['age'])我收到以下錯誤ValueError: cannot convert float NaN to integer期望的輸出: {'artForm': 'Madur',      'artistName': 'Bharati Dolai',      'gender': 'F',      'district': 'Paschim Medinipur',      'phone': '',      'artisanCard': {'exists': 'N', 'cardNo': ''},      'dob': '',      'age': 45,                  #converted to int      'year': 1971,               #converted to int      'education': 'I',      'childrenGoToSchool': 'Y'    }
查看完整描述

3 回答

?
開心每一天1111

TA貢獻1836條經(jīng)驗 獲得超13個贊

使用dict comprehension:


import math  


print({k: int(v) if k == 'age' or k == 'year' and not math.isnan(v) else v for k,v in d.items()})

輸出:


{


 'artForm': 'Madur', 'artistName': 'Bharati Dolai', 'gender': 'F', 

 'district': 'Paschim Medinipur', 'phone': '', 

 'artisanCard': {'exists': 'N', 'cardNo': ''}, 

 'dob': '', 'age': 45, 'year': 1971, 

 'education': 'I', 'childrenGoToSchool': 'Y'


}

編輯:


如果您只想要特定的列:


print({k: int(v) for k, v in d.items() if k == 'age' or k == 'year' and not math.isnan(v)})

輸出:


{'age': 45, 'year': 1971}


查看完整回答
反對 回復 2021-12-17
?
慕妹3146593

TA貢獻1820條經(jīng)驗 獲得超9個贊

您有一些年齡NaNs在您的列表中。如果這些無法刪除,您可以嘗試將代碼包裝在一個try-except語句中:


num_of_nans = 0


for entry in d:

    try:

        entry['age'] = int(entry['age'])

    except ValueError:

        entry['age'] = 'Age not known'

        num_of_nans += 1

您可能想要計算 NaN 的數(shù)量,以便了解丟失了多少條目。


查看完整回答
反對 回復 2021-12-17
?
慕田峪7331174

TA貢獻1828條經(jīng)驗 獲得超13個贊

你的一些價值觀是NaN. 此外,您錯過了分配操作。


import math

for i in range(len(d)):

    if not math.isnan(d[i]['age']):

        d[i]['age'] = int(d[i]['age'])


查看完整回答
反對 回復 2021-12-17
  • 3 回答
  • 0 關(guān)注
  • 325 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號