应用于数据框并获取:SettingWithCopyWarning:试图在切片的副本上设置一个值

问题描述 投票:0回答:1

我一直使用dataframe.apply(lambda x:f(x))就像追随者,突然之间,仅对于这种特定情况,我收到了这个非常烦人的错误消息。由于它封装在App中,因此用户可以看到日志。真烦人

df_Holdings['Price'] = df_Holdings['Price'].apply(lambda x : round(x,6))

错误:

2611:SettingWithCopyWarning:试图在的副本上设置一个值来自DataFrame的切片。尝试使用.loc [row_indexer,col_indexer] =值

请参见文档中的注意事项:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy

我也尝试过这种方式,但是收到了更深的错误消息:

df_Holdings.loc[:, 'Price'] = df_Holdings.loc[:, 'Price'].apply(lambda x : round(x,6))

错误:

C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ pandas \ core \ indexing.py:543:SettingWithCopyWarning:试图在一个副本上设置一个值从DataFrame切片。尝试使用.loc [row_indexer,col_indexer] =值

请参见文档中的注意事项:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copyself.obj [item] = s

此行是否真的有问题?感谢您的帮助。

python dataframe lambda copy apply
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.