pandas.DataFrame.__dataframe__#

DataFrame.__dataframe__(nan_as_null=False, allow_copy=True)[源代码][源代码]#

返回实现交换协议的数据帧交换对象。

备注

对于新的开发,我们强烈推荐使用 Arrow C 数据接口和 Arrow PyCapsule 接口,而不是交换协议

警告

由于严重的实现问题,我们建议仅在以下情况下考虑使用交换协议:

  • 转换为 pandas:对于 pandas >= 2.0.3

  • 从 pandas 转换:适用于 pandas >= 3.0.0

参数:
nan_as_nullbool, 默认 False

nan_as_null 已被弃用且无效。请避免使用它;它将在未来的版本中被移除。

allow_copy布尔值, 默认为 True

是否在导出时允许内存复制。如果设置为 False,会导致非零拷贝导出失败。

返回:
DataFrame 交换对象

消费库可以使用以输入数据帧的对象。

参见

DataFrame.from_records

从元组构造,也是记录数组。

DataFrame.from_dict

从 Series、数组或字典的字典中。

备注

交换协议的详细信息:https://data-apis.org/dataframe-protocol/latest/index.html

例子

>>> df_not_necessarily_pandas = pd.DataFrame({"A": [1, 2], "B": [3, 4]})
>>> interchange_object = df_not_necessarily_pandas.__dataframe__()
>>> interchange_object.column_names()
Index(['A', 'B'], dtype='object')
>>> df_pandas = pd.api.interchange.from_dataframe(
...     interchange_object.select_columns_by_name(["A"])
... )
>>> df_pandas
     A
0    1
1    2

这些方法 (column_names, select_columns_by_name) 应该适用于任何实现了交换协议的数据框库。