python - 无法消除熊猫 SettingWithCopyWarning
问题描述
我尝试了很多次,但是当在“ipcaMomSlice”上插入“乘数”列时,我无法在代码中避免这个警告。任何想法?
import pandas as pd
ipcaMom = bcbQuery(433)
ipcaMom['valor'] /= 100
initDate = "1995-01-01"
ipcaMomSlice = ipcaMom[initDate:]
ipcaMomSlice.loc[:,'multiplier'] = (1 + ipcaMomSlice['valor']).cumprod()
解决方案
如果您希望这ipcaMomSlice
是它自己的实体,而不是回溯ipcaMom
(例如,您根本不想分配“乘数”列ipcaMom
,而只想要“乘数” ipcaMomSlice
),您需要告诉熊猫ipcaMomSlice
不再只是数据帧的一部分,而是一个完整的独立子集。这是通过.copy()
方法完成的。
import pandas as pd
ipcaMom = bcbQuery(433)
ipcaMom['valor'] /= 100
initDate = "1995-01-01"
ipcaMomSlice = ipcaMom[initDate:].copy()
# no need for `.loc` in this assignment operation
ipcaMomSlice['multiplier'] = (1 + ipcaMomSlice['valor']).cumprod()
但是,如果您希望“乘数”神奇地显示为列,则ipcaMom
需要将您的索引从您的.loc
import pandas as pd
ipcaMom = bcbQuery(433)
ipcaMom['valor'] /= 100
initDate = "1995-01-01"
ipcaMom.loc[initdate:, 'multiplier'] = (1 + ipcaMom.loc[initdate:, 'valor']).cumprod()
推荐阅读
- vowpalwabbit - 如何将动作相关特征(ADF)从分类转换为连续/离散?
- amazon-web-services - 创建生命周期规则以仅删除以前版本的 S3 对象
- maven - 将 Maven 项目配置为 Jenkins Multibranch Pipeline
- c - 努力编写 ac 程序以按照此作业描述的方式运行
- signalr - 有没有办法避免在 HubConnection 类中使用魔术字符串
- python - 尝试运行程序时引发 ConnectionRefusedError
- python-3.x - 是否可以在代码块中提及某人?不和谐
- swiftui - 修改@State var时未调用onChange
- doctrine-orm - 需要 Doctrine 多对多 QueryBuilder 查询以返回不在公共行中
- google-bigquery - 将 GA4 项目链接到 bigquery - 流式传输与每日