作者:
PTTOuO (五股畢書盡)
2017-09-30 18:44:43如題
這是我的data frame
http://i.imgur.com/USqiil5.jpg
我想要把Death year欄位資料為nan的變成0其他都變成1
import pandas as pd
mydata_csv = pd.read_csv('D:\Python\character-deaths.csv',sep = ',',encoding = 'utf-8')
mydata_csv
del mydata_csv['Book of Death']
del mydata_csv['Death Chapter']
if mydata_csv['Death Year'] == None:
mydata_csv['Death Year'] = 0
else:
mydata_csv['Death Year'] = 1
這個是我的程式碼
到if那裡就錯誤了QQ
作者:
djshen (djshen)
2017-09-30 19:07:00也不說有什麼錯誤訊息
作者: johnny78615 (Johnny) 2017-09-30 19:26:00
import numpy as npif mydata_csv['Death Year'] == np.nan這樣試試
作者:
PTTOuO (五股畢書盡)
2017-09-30 19:27:00ValueError: The truth value of a Series is ambiguous.Use a.empty, a.bool(), a.item(), a.any() or a.all().我改用 mydata_csv['Death Year'] = np.where(mydata_csv['Death Year']==None, 1, 0) 可以修改裡面的資料了..但是通通變成0了QQ
作者:
Sunal (SSSSSSSSSSSSSSSSSSSSSSS)
2017-09-30 22:14:00np.where(pd.isnull(df['Death Year']), 0, 1)
goo.gl/xtV2SSpython裡面np.nan跟np.nan不相等。本來dataframe裡的也不是真的np.nan。不然直接用fillna試試其他用where不等於1取代。打錯,適用fillna填上0,然後其他用不等於0 填上1
作者:
jiyu520 (不要鯽魚我)
2017-10-01 16:08:00先確定pd裡面的資料格式然後用最小單元(一格)先取代看看是否成功