正在尝试在DataFrame
的切片副本上设置值请参阅文档中的警告:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
data1['other_id_phone'][i]= 1
我正试图让'' nan' = 0,数字= 1, 只是一个标志 我的英语很差,好吧 请帮助,我不知道。我错了.THX!
下面是我的代码
答案 0 :(得分:0)
首先,您可以在没有循环的情况下执行此操作:
data1['other_id_phone'] = np.where(data1['other_id_phone'].isnull(), 0, 1)
其次,错误来自chained indexing:
data1['other_id_phone'][i] = some_value
您应该使用现代索引方法(例如loc
,iloc
)来索引df,以便它在视图上运行:
data1.loc[i, 'other_id_phone'] = some_value
你也可以改写为:
data1['other_id_phone'] = data1['other_id_phone'].notnull().astype(int)
如果您要替换的数据是字符串'nan'
,那么您需要:
data1['other_id_phone'] = np.where(data1['other_id_phone'] == 'nan', 0, 1)