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