【发布时间】:2017-01-16 14:59:40
【问题描述】:
我有一个数据框df,比如:
measure model threshold
285 0.241715 a 0.0001
275 0.241480 a 0.0001
546 0.289773 b 0.0005
556 0.241715 b 0.0005
817 0.357532 a 0.001
827 0.269750 b 0.001
1088 0.489164 a 0.0025
我想将model 列中的所有值更改为'no_model'。我该怎么做?
我目前正在做df['model'] = 'no_model',但我得到:
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
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
df['model'] = 'no_model'
【问题讨论】:
-
你试过
df.loc[:, 'model'] = 'no model'吗? -
你的意思是,改变'model'的名字?
-
是的,@JonClements 收到了同样的警告。
-
在此调用之前您已经做了一些事情来引发此警告,可能您已截取或过滤了原始 df,您打算处理原始 df 的视图还是副本?
-
@user2241910 不,列名相同,列中的每个值都变为'no_model'。
标签: python pandas dataframe slice