数据集中的SettingWithCopyWarning

时间:2018-07-08 09:30:47

标签: python python-3.x pandas machine-learning

出于某种原因,我一直在获取我的数据集的SettingWithCopyWarning。

import pandas as pd
import numpy as np

dataset = pd.read_csv('data.csv')

dataset[dataset['column_name'].notnull()]['column_name'] = 'demo'

*SettingWithCopyWarning*: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

此代码不会将“ column_name”列中的非空值更改为“ demo”。 在这种情况下我该怎么办?

1 个答案:

答案 0 :(得分:0)

语法不正确,因为您尝试更改数据框的副本,需要使用loc来就地更改数据,否则将使用数据框的副本。试试这个

dataset.loc[dataset['column_name'].notnull(),['column_name']]='demo'