Day_006_HW
Hi,
再確認dataType後,使用isin 去判斷"float"dataType輸出卻總為false,請問可以幫忙解答嗎?
app_train.dtypes.value_counts()
out:
float64 65
int64 41
object 16
dtype: int64
# 先篩選數值型的欄位
"""
YOUR CODE HERE, fill correct data types (for example str, float, int, ...)
"""
dtype_select = [float]
numeric_columns = list(app_train.columns[list(app_train.dtypes.isin(dtype_select))])
print("Numbers of remain columns" , len(numeric_columns))
out:
Numbers of remain columns 0
回答列表
-
2019/05/01 下午 10:34張維元 (WeiYuan)贊同數:2不贊同數:0留言數:3
dtypes.isin 當中要放的是是 dtype 的型態,而不是字串,所以必須這麼寫會比較好:
```
app_train.dtypes.isin([np.dtype('int64'), np.dtype('float64')])
```
也可以改用對 df 直接做 select_dtypes:
```
app_train.select_dtypes(include=['float64', 'int64'])
```
-
2019/05/05 下午 04:42張維元 (WeiYuan)贊同數:0不贊同數:0留言數:0
Hi~一樣的問題我想請問 為什麼在參考解答中他一樣是給字串執行完卻是正常的 謝謝
=> 因為你給 int 字串,np 會幫你轉成 numpy 的 dtype 型態,但可能會受到電腦的不同而有差異。原則上 int 應該會轉成最大的 bit。可以參考我這一篇的回答:https://www.cupoy.com/qa/kwassist/ai_tw/0000016A43F462510000051B6375706F795F72656C656173655155455354