pandas.api.interchange.from_dataframe#

pandas.api.interchange.from_dataframe(df, allow_copy=True)[源代码]#

从任何支持 interchange 协议的 DataFrame 构建 pd.DataFrame

备注

对于新的开发,我们强烈建议使用 Arrow C Data Interface 和 Arrow PyCapsule Interface,而不是 interchange 协议。从 pandas 2.3 开始,from_dataframe 使用 PyCapsule Interface,只有在失败时才会回退到 interchange 协议。

警告

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

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

  • 从 pandas 转换:对于 pandas >= 3.0.0

Parameters:
dfDataFrameXchg

支持 interchange 协议的对象,即具有 __dataframe__ 方法的对象。

allow_copybool, default: True

是否允许复制内存来进行转换(如果为 false,则请求零拷贝方法)。

Returns:
pd.DataFrame

Examples

>>> 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_namesselect_columns_by_name)应该适用于任何实现互操作协议的dataframe库。