pandas.DataFrame.set_flags#

DataFrame.set_flags(*, copy=<no_default>, allows_duplicate_labels=None)[source]#

返回一个带有更新标志的新对象。

此方法创建一个原始对象的浅拷贝,保留其底层数据,同时修改其全局标志。特别是,它允许您更新属性,例如是否允许重复标签。此行为在方法链中特别有用,当您希望在不更改原始对象的情况下调整 DataFrame 或 Series 的特征时。

参数:
copybool,默认值 False

此关键字已被忽略;更改其值将不会影响方法。

已弃用,版本 3.0.0: 此关键字已被忽略,并将在 pandas 4.0 中删除。自 pandas 3.0 起,此方法始终返回一个新对象,并使用延迟复制机制,该机制会推迟复制直到必要时(写时复制)。有关更多详细信息,请参阅关于写时复制的用户指南

allows_duplicate_labelsbool, optional

返回的对象是否允许重复标签。

返回:
Series 或 DataFrame

与调用者相同的类型。

另请参阅

DataFrame.attrs

应用于此数据集的全局元数据。

DataFrame.flags

适用于此对象的全局标志。

注意

此方法返回一个新对象,该对象是输入数据的视图。修改输入或输出值将在另一个中反映出来。

此方法旨在用于方法链。

“标志”与“元数据”不同。标志反映 pandas 对象(Series 或 DataFrame)的属性。元数据指数据集的属性,应存储在 DataFrame.attrs 中。

示例

>>> df = pd.DataFrame({"A": [1, 2]})
>>> df.flags.allows_duplicate_labels
True
>>> df2 = df.set_flags(allows_duplicate_labels=False)
>>> df2.flags.allows_duplicate_labels
False