-
- Notifications
You must be signed in to change notification settings - Fork 19.4k
Closed
Labels
BugIO DataIO issues that don't fit into a more specific labelIO issues that don't fit into a more specific label
Description
Pandas version checks
-
I have checked that this issue has not already been reported.
-
I have confirmed this bug exists on the latest version of pandas.
-
I have confirmed this bug exists on the main branch of pandas.
Reproducible Example
>>> import pandas as pd >>> rows = [] >>> pd.DataFrame.from_records(iter(rows), columns=['a', 'b'], nrows=0) Empty DataFrame Columns: [] Index: []Issue Description
Passing an empty iterator to DataFrame.from_records() along with nrows=0 results in a DataFrame with no columns, even if the columns argument is provided.
Oddly, the correct result is obtained with an empty iterator and nrows > 0. However, columns are still ignored if the iterator is non-empty and nrows=0.
Expected Behavior
Should return a DataFrame with 0 rows and the columns provided.
Installed Versions
INSTALLED VERSIONS ------------------ commit : 0691c5cf90477d3503834d983f69350f250a6ff7 python : 3.12.9 python-bits : 64 OS : Linux OS-release : 5.15.167.4-microsoft-standard-WSL2 Version : #1 SMP Tue Nov 5 00:21:55 UTC 2024 machine : x86_64 processor : x86_64 byteorder : little LC_ALL : None LANG : C.UTF-8 LOCALE : C.UTF-8 pandas : 2.2.3 numpy : 2.2.3 pytz : 2024.1 dateutil : 2.9.0.post0 pip : 25.0.1 Cython : None sphinx : None IPython : None adbc-driver-postgresql: None adbc-driver-sqlite : None bs4 : None blosc : None bottleneck : None dataframe-api-compat : None fastparquet : None fsspec : None html5lib : None hypothesis : None gcsfs : None jinja2 : None lxml.etree : None matplotlib : None numba : None numexpr : None odfpy : None openpyxl : None pandas_gbq : None psycopg2 : None pymysql : None pyarrow : None pyreadstat : None pytest : None python-calamine : None pyxlsb : None s3fs : None scipy : None sqlalchemy : None tables : None tabulate : None xarray : None xlrd : None xlsxwriter : None zstandard : None tzdata : 2025.1 qtpy : None pyqt5 : None Metadata
Metadata
Assignees
Labels
BugIO DataIO issues that don't fit into a more specific labelIO issues that don't fit into a more specific label