Skip to content

Commit f35ed04

Browse files
committed
refactor: improve from_dataframe method for clarity and add internal DataFrame test
1 parent f78a1d0 commit f35ed04

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

python/datafusion/table_provider.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,12 @@ def from_dataframe(cls, df: Any) -> TableProvider:
5656
"""Create a :class:`TableProvider` from a :class:`DataFrame`."""
5757
from datafusion.dataframe import DataFrame as DataFrameWrapper
5858

59-
df = df if isinstance(df, DataFrameWrapper) else DataFrameWrapper(df)
60-
return df.into_view()
59+
if isinstance(df, DataFrameWrapper):
60+
dataframe = df
61+
else:
62+
dataframe = DataFrameWrapper(df)
63+
64+
return dataframe.into_view()
6165

6266
@classmethod
6367
def from_view(cls, df: Any) -> TableProvider:

python/tests/test_context.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,11 +355,21 @@ def test_table_provider_from_capsule(ctx):
355355
def test_table_provider_from_dataframe(ctx):
356356
df = ctx.from_pydict({"a": [1, 2]})
357357
provider = TableProvider.from_dataframe(df)
358+
assert isinstance(provider, TableProvider)
358359
ctx.register_table("from_dataframe_tbl", provider)
359360
result = ctx.sql("SELECT * FROM from_dataframe_tbl").collect()
360361
assert [b.to_pydict() for b in result] == [{"a": [1, 2]}]
361362

362363

364+
def test_table_provider_from_dataframe_internal(ctx):
365+
df = ctx.from_pydict({"a": [1, 2]})
366+
provider = TableProvider.from_dataframe(df.df)
367+
assert isinstance(provider, TableProvider)
368+
ctx.register_table("from_internal_dataframe_tbl", provider)
369+
result = ctx.sql("SELECT * FROM from_internal_dataframe_tbl").collect()
370+
assert [b.to_pydict() for b in result] == [{"a": [1, 2]}]
371+
372+
363373
def test_table_provider_from_view_warning_origin(ctx):
364374
from datafusion.table_provider import TableProvider as WrapperTableProvider
365375

0 commit comments

Comments
 (0)