问题标签 [chained-assignment]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何向现有 DataFrame 添加新列?
我有以下索引DataFrame,其中命名的列和行不是连续的数字:
我想'e'
在现有数据框中添加一个新列 , 并且不想更改数据框中的任何内容(即,新列始终与 DataFrame 具有相同的长度)。
如何e
在上面的示例中添加列?
python - Pandas:子索引数据框:副本与视图
说我有一个数据框
我从我的数据子集创建另一个数据框:
是否bar
持有这些元素的副本foo
?有没有办法创建一个view
数据呢?如果是这样,如果我尝试在此视图中修改数据会发生什么?Pandas 是否提供任何类型的写时复制机制?
python - 如何处理 Pandas 中的 SettingWithCopyWarning
背景
我刚刚将我的 Pandas 从 0.11 升级到 0.13.0rc1。现在,该应用程序弹出了许多新的警告。其中一个是这样的:
我想知道具体是什么意思?我需要改变什么吗?
如果我坚持使用,我应该如何暂停警告quote_df['TVol'] = quote_df['TVol']/TVOL_SCALE
?
给出错误的函数
更多错误信息
python - Pandas:链式作业
我一直在阅读有关“返回视图与副本”的链接。我真的不明白Pandas 中的链式赋值.ix()
概念是如何工作的,以及.iloc()
、 或的使用如何.loc()
影响它。
我收到SettingWithCopyWarning
以下代码行的警告,其中data
是 Panda 数据框,并且amount
是该数据框中的列(系列)名称:
看看这段代码,很明显我在做一些次优的事情吗?如果是这样,你能告诉我替换代码行吗?
我知道以下警告,并认为我的情况下的警告是误报:
链式分配警告/异常旨在通知用户可能无效的分配。可能有误报;无意中报告了链式分配的情况。
编辑:导致第一个复制警告错误的代码。
python - 熊猫:SettingWithCopyWarning
我想将Pandas
DataFrame
大于任意数字(在本例中为 100)的值替换为NaN
(因为这么大的值表示实验失败)。以前我用它来替换不需要的值:
但是,我收到以下错误:
从这个 StackExchange question看来,有时可以忽略此警告,但我无法很好地遵循讨论以确定这是否适用于我的情况。警告基本上是让我知道我将覆盖 my 中的一些值DataFrame
吗?
编辑:据我所知,一切正常。作为后续,我替换值的方法是非标准的吗?有没有更好的方法来替换值?
python - Pandas 使用什么规则来生成视图和副本?
当决定从数据框中选择的内容是原始数据框的副本或原始数据框的视图时,我对 Pandas 使用的规则感到困惑。
例如,如果我有,
我知道 aquery
返回一个副本,以便类似
对原始数据帧没有影响,df
. 我也知道标量或命名切片返回一个视图,以便对这些进行分配,例如
或者
会改变df
。但是当涉及到更复杂的情况时,我会迷路。例如,
变化df
,但是
才不是。
Pandas 是否有一个我只是缺少的简单规则?在这些特定情况下发生了什么;特别是,如何更改满足特定查询的数据框中的所有值(或值的子集)(正如我在上面的最后一个示例中尝试做的那样)?
注意:这与这个问题不同;我已经阅读了文档,但没有受到启发。我还通读了关于这个主题的“相关”问题,但我仍然错过了 Pandas 使用的简单规则,以及我如何将其应用于——例如——修改值(或值的子集)在满足特定查询的数据框中。
python - Pandas SettingWithCopyWarning
Python 3.4 和 Pandas 0.15.0
df 是一个数据框, col1 是一个列。使用下面的代码,我正在检查值 10 的存在并将这些值替换为 1000。
这是另一个例子。这一次,我根据索引更改 col2 中的值。
这两个都会产生以下警告:
最后,
这会产生类似的警告,并添加一个建议:
我不确定我是否理解警告中指出的讨论。编写这三行代码的更好方法是什么?
请注意,操作有效。
python - 在 Pandas 中检查数据框是复制还是查看
有没有一种简单的方法来检查两个数据帧是否是不涉及操作的相同底层数据的不同副本或视图?我试图掌握每个规则的生成时间,并且考虑到规则看起来有多么特殊,我想要一种简单的测试方法。
例如,我认为“id(df.values)”在各个视图中是稳定的,但它们似乎不是:
我查找的其他答案试图给出规则,但似乎不一致,也没有回答如何测试的问题:
当然: - http://pandas.pydata.org/pandas-docs/stable/indexing.html#returning-a-view-versus-a-copy
更新:下面的评论似乎回答了这个问题——看df.values.base
属性而不是df.values
属性,对属性的引用也是如此df._is_copy
(尽管后者可能是非常糟糕的形式,因为它是内部的)。
python - 为什么要在 pandas 中复制数据框
从父数据帧中选择子数据帧时,我注意到一些程序员使用该.copy()
方法复制数据帧。例如,
...而不仅仅是
他们为什么要复制数据框?如果我不复制会怎样?
python - 如何找到生成 Pandas SettingWithCopyWarning 的行?
我有一大块代码,也就是说,在某个地方,在熊猫中生成带有复制警告的设置(这个问题)。
我知道如何解决这个问题,但我找不到它的行号!有没有办法取消行号(除了像调试步进或多次打印这样的蛮力方法)?我得到的唯一输出是下面的,它不会上堆栈到我的代码: