pandas.DataFrame.__dataframe__#
- DataFrame.__dataframe__(nan_as_null=False, allow_copy=True)[source]#
- Return the dataframe interchange object implementing the interchange protocol. - Note - For new development, we highly recommend using the Arrow C Data Interface alongside the Arrow PyCapsule Interface instead of the interchange protocol - Warning - Due to severe implementation issues, we recommend only considering using the interchange protocol in the following cases: - converting to pandas: for pandas >= 2.0.3 
- converting from pandas: for pandas >= 3.0.0 
 - Parameters:
- nan_as_nullbool, default False
- nan_as_null is DEPRECATED and has no effect. Please avoid using it; it will be removed in a future release. 
- allow_copybool, default True
- Whether to allow memory copying when exporting. If set to False it would cause non-zero-copy exports to fail. 
 
- Returns:
- DataFrame interchange object
- The object which consuming library can use to ingress the dataframe. 
 
 - See also - DataFrame.from_records
- Constructor from tuples, also record arrays. 
- DataFrame.from_dict
- From dicts of Series, arrays, or dicts. 
 - Notes - Details on the interchange protocol: https://data-apis.org/dataframe-protocol/latest/index.html - 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 - These methods ( - column_names,- select_columns_by_name) should work for any dataframe library which implements the interchange protocol.