“~”所代表的意思?
2019/09/04 上午 10:19
機器學習共學討論版
Eddie
觀看數:89
回答數:4
收藏數:0
ml100-3
ml100-3-d09
想要請問python裡面~所代表的意思?例如作業裡面的範例;
plt.hist(app_train[~app_train.OWN_CAR_AGE.isnull()]['OWN_CAR_AGE'])
回答列表
-
2019/09/04 上午 10:35陳昭佑贊同數:0不贊同數:0留言數:0
這篇你看看,我剛好有找到答案
-
2019/09/04 上午 10:42張維元 (WeiYuan)贊同數:0不贊同數:0留言數:2
嗨,那是二進位的反運算,印象中之前有人問過,可以爬文看看
-
2019/09/05 上午 06:51黃向偉贊同數:2不贊同數:0留言數:0
你好,根據我的嘗試,在這條段程式碼中,“~”用來將bool值進行顛倒的轉換。
意思是“~”可以將True轉為False,將False轉為True。
因此對於該段程式碼而言 ,若將“~”移除,app_train.OWN_CAR_AGE.isnull() 給出的值將無法正確顯示["OWN_CAR_AGE"]的資料。
因為app_train.OWN_CAR_AGE.isnull() 給出的True,會造成結果顯示為空值。
若加上“~”,~app_train.OWN_CAR_AGE.isnull() 給出的True,則會顯示["OWN_CAR_AGE"]欄位相對應之數。
以上為個人研究與推測,若有錯誤請不吝指教,謝謝。
-
2019/09/05 上午 09:34wu wenjr贊同數:0不贊同數:0留言數:1
用白話一點來講,
app_train.OWN_CAR_AGE.isnull() => 找出車子年份是空值,抓出來的應該是沒有車子的人。
~app_train.OWN_CAR_AGE.isnull() => 找出車子年份是不是空值,抓出來的應該是有車子的人。