我想知道在尝试将str.lower()
应用于pandas dataframe中的一列时,如何处理SettingWithCopyWarning,以便仅该列上的所有数据都是小写的
我的实际代码
df2["originator _ beliefs"] = df2["originator _ beliefs"].str.lower()
我的错误:
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
我的其他尝试:
df3["originator _ beliefs"] = df2.loc[df2["originator _ beliefs"].str.lower()]
df3["originator _ beliefs"] = df2["originator _ beliefs"].str.lower().copy()
我所要做的就是将“创始人信念”中的所有项目小写。
这是警告,不是错误。运行代码后检查
df2["originator _ beliefs"]
;您应该看到它确实降低了您试图降低的列。警告是指您正在从推断的df1
(即df2
)更改切片的副本,并且如果您试图更改df1
,您将无法更改。有一些方法可以抑制警告,但这有点超出了问题的范围一定要查看文档以了解更多信息:https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
相关问题 更多 >
编程相关推荐