pandas.api.interchange.from_dataframe#

pandas.api.interchange.from_dataframe(df, allow_copy=True)[источник]#

Построить pd.DataFrame из любого DataFrame, поддерживающего протокол обмена.

Примечание

Для новой разработки мы настоятельно рекомендуем использовать Arrow C Data Interface вместе с Arrow PyCapsule Interface вместо протокола обмена. Начиная с pandas 2.3, from_dataframe использует интерфейс PyCapsule, переходя к протоколу interchange только в случае неудачи.

Предупреждение

Из-за серьезных проблем с реализацией мы рекомендуем рассматривать использование протокола обмена только в следующих случаях:

  • преобразование в pandas: для pandas >= 2.0.3

  • конвертация из pandas: для pandas >= 3.0.0

Параметры:
dfDataFrameXchg

Объект, поддерживающий протокол обмена, т.е. __dataframe__ метод.

allow_copybool, по умолчанию: True

Разрешить ли копирование памяти для выполнения преобразования (если false, то запрашивается подход с нулевым копированием).

Возвращает:
pd.DataFrame

Примеры

>>> 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) должен работать для любой библиотеки датафреймов, реализующей протокол обмена.