python - 复制参数与 Series.Copy()

标签 python pandas

y = pd.Series(x, copy=True,dtype=float)
z = pd.Series(x, copy=True)
a = pd.Series(x)
f = pd.Series.copy(x)

所有上述表达式都给出了相同的 x 值输出,即使在更新 x 值之后,变化也没有反射(reflect)出来。 所以我需要知道 copy 作为参数和 series.copy() 的用途是什么,以及如何将 x 系列复制到其他系列,以便在 x 中所做的任何更改也反射(reflect)在新系列中。

如果有任何错误或不可能,请原谅我...我是 Python 的新手,出于好奇我问这些问题...

非常感谢您的帮助!

最佳答案

如果我们查看 pandas Series 的源代码,我们可以看到以下内容,

def __init__(self, data=None, index=None, dtype=None, name=None,
             copy=False, fastpath=False):

    if not isinstance(data, SingleBlockManager):
        data = SingleBlockManager(data, index, fastpath=True)
    if copy:
        data = data.copy()

所以您已经为 data 参数传递了 x,因此,行 data = data.copy() 复制了 x。这应该相当于做,

g = pd.Series(x.copy())

这与 pd.Series.copy(x) 略有不同,后者现在复制 Series 对象本身,而不是底层的 x。因此,底层 x 可能仍会被新系列引用。

制作副本的想法是,您确信对 Series 执行的任何操作都不会更改原始对象 x

关于python - 复制参数与 Series.Copy(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48185809/

相关文章:

python - 如何在没有数据或彩色图像的情况下获得清晰的图像。 opencv python

python - 条件变量的更多pythonic方式

python - 'GroupedData' 对象在 Spark 数据帧中执行透视时没有属性 'show'

python - 自然排序pandas数据出现错误

python - 从 pandas DataFrame 中的列中减去平均值

python - 在 python 中导入 beautifulsoup

python - 如何将 Bokeh 中的 slider 值传递回 Python 代码

python - python 删除特定Excel单元格的内容

python - 从数据框中删除特殊字符和字母数字的简单方法

python - 按频率对 str 系列进行排序