我有一个小数据框,说这个:
Mass32 Mass44
12 0.576703 0.496159
13 0.576658 0.495832
14 0.576703 0.495398
15 0.576587 0.494786
16 0.576616 0.494473
...
我想要column的滚动平均值Mass32
,所以我这样做:
x['Mass32s'] = pandas.rolling_mean(x.Mass32, 5).shift(-2)
它的工作方式如下:我有一个新的列Mass32s
,该列包含我希望包含的内容,但我也收到警告消息:
试图在DataFrame的切片副本上设置一个值。尝试改用.loc [row_indexer,col_indexer] = value
请参阅文档中的警告:http :
//pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-
copy
我想知道是否有更好的方法来做到这一点,尤其是避免收到此警告消息。
出现此警告是因为您的数据框x
是切片的副本。这不容易理解为什么,但是与您如何达到当前状态有关。
您可以dataframe
通过执行以下操作来创建适当的x
x = x.copy()
这将删除警告,但这 不是正确的方法
DataFrame.loc
如警告所示,您应该使用该方法,如下所示:
x.loc[:,'Mass32s'] = pandas.rolling_mean(x.Mass32, 5).shift(-2)
问题内容: Jupiter Nootbook返回此警告: 请参阅文档中的警告:http : //pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus- copy 请参阅文档中的警告:http : //pandas.pydata.org/pandas-docs/stable/indexing.html#inde
我有一个小数据框,比如说: 我想有一个列的滚动平均值,所以我这样做: 它的工作原理是,我有一个名为的新列,其中包含我期望它包含的内容,但我也会收到警告消息: 试图在数据帧切片的副本上设置值。尝试改用.loc[row\u indexer,col\u indexer]=value 请参阅文档中的注意事项:http://pandas.pydata.org/pandas-docs/stable/index
我知道有很多关于这个警告的帖子,但是我找不到解决我的问题的办法。这是我的密码: 它产生警告: SettingWithCopyWarning:试图在数据帧切片的副本上设置值。尝试改用.loc[row\u indexer,col\u indexer]=value 即使我按照建议更改了代码,我仍然收到此警告?我所需要做的就是转换一列的数据类型。 **备注:**最初该列是具有一个十进制的浮点数类型(例如:
问题内容: 我有一个熊pandas据框:数据。它具有列[“ name”,’A’,’B’] 我想做的(和可以做的)是: 这会将表行上的A列设置为0。我还完成了以下操作: 但是,两者都给我同样的警告: pandas如何让我做到这一点? 问题答案: 这是熊猫的一种非常普遍的警告。这意味着您正在写副本切片,而不是原始数据,因此由于混淆的链式分配,它可能不适用于原始列。请阅读这篇文章。它对此进行了详细的讨论
我试图初始化实例和传递数据帧但出于某种原因我得到的输出 尝试使用。loc[row\u indexer,col\u indexer]=改为value 请参阅文档中的注意事项:http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-vs-a-copy self。x[‘截距’]=1 知道我
如何(在终端中)打印pandas数据帧中列的子集? 我不想从DataFrame中删除任何列;我只想看看终端中的几个列,了解一下数据是如何通过的。 现在,我有,它打印数据帧的前10行,但如何选择几列进行打印呢?您能根据列的索引编号和/或名称选择列吗?