我有一个 Dataframe ,如下所示:
A B C
15 'ds' ' 0.000'
32 'ds' ' 1.000'
56 'ds' ' 2,700.000'
45 'gb' ' 7.000'
我想把C
列的值改为整数;所以我做的是这样的:
df.loc[:,'C'] = df.loc[:,'C'].apply(lambda x: int(float(x.strip().replace(',',''))))
这样做的工作,但是,我得到了恼人的SettingWithCopyWarning
。为什么这出现,如果我使用loc
?
2条答案
按热度按时间mu0hgdu01#
Pandas在某些误报的情况下提出了这个警告(例如,根据分配的顺序,你 * 可能 * 分配给了一个副本,但在当前的场景中却没有)。How to deal with SettingWithCopyWarning in Pandas?
...但是,就我个人而言,当我使用
.loc
时,仍然会收到警告,我会采取上述答案中提供的步骤,并禁用警告:pd.options.mode.chained_assignment = None
pjngdqdw2#
我会使用以下方法: