我正在嘗試在 excel 中編寫一個等于 isnumber[column] 函數(shù)的函數(shù)數(shù)據(jù)集:feature1 feature2 feature3 123 1.07 1 231 2.08 3 122 ab 4 111 3.04 6 555 cde 8feature1: integer dtypefeature2: object dtypefeature3: integer dtype我試過這段代碼for item in df.feature2.iteritems(): if isinstance(item, float): print('yes') else: print('no')我得到的結果是 no no no no no但我想要結果yesyesnoyesno當我嘗試檢查單個 feature2 值的類型時,這就是所見type(df.feature2[0]) = strtype(df.feature2[1]) = strtype(df.feature2[2]) = strtype(df.feature2[3]) = strtype(df.feature2[4]) = strBut clearly 0,1,3 should be shown as float, but they show up as str我做錯了什么?
3 回答

繁星淼淼
TA貢獻1775條經(jīng)驗 獲得超11個贊
Iteritems 返回一個元組,((123, '1.07'), 1.07)由于您想遍歷每個值,請嘗試以下代碼。您只需要移除.iteritems()它,它就會像魅力一樣發(fā)揮作用。
df['feature2']=[1.07,2.08,'ab',3.04,'cde']
for item in df.feature2:
if isinstance(item,float):
print('yes')
else:
print('no')
這是您的輸出:
yes
yes
no
yes
no

慕尼黑8549860
TA貢獻1818條經(jīng)驗 獲得超11個贊
試試這個:
for i in range(len(df["feature2"])):
test = df.loc[i,"feature2"]
if isinstance(test, float):
print('yes')
else:
print('no')
添加回答
舉報
0/150
提交
取消