New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BUG: pd.Dataframe.from_dict when first value is a list #29213
Comments
Not sure if there is anything to do here. Note you can construct a Series instead if you want 1D |
@WillAyd both examples use the same dictionary albeit with a different order of keys. Edit: a simpler example: In [25]: pd.DataFrame.from_dict({'a': [1,2,3], 'b': 1}, orient='index')
# TypeError: object of type 'int' has no len()
In [26]: pd.DataFrame.from_dict({'b': 1, 'a': [1,2,3]}, orient='index')
Out[26]:
0
b 1
a [1, 2, 3] Note that the initial object itself is the same in both examples. Python dicts aren't guaranteed insertion order until 3.7 (iirc). |
Hey! I'm having a go at this. |
Wow, I did not think changing the order would fix my issue, but it did. Having a list as the very first value in a dictionary gave me the 'object of type 'float' has no len()' error. |
Reproducible example:
Problem description
Error when creating a dataframe from a dictionary when the first item in the dictionary is a list. See reproducible example above.
Expected Output
Output of
pd.show_versions()
INSTALLED VERSIONS
commit: None
python: 3.7.3.final.0
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 158 Stepping 9, GenuineIntel
byteorder: little
LC_ALL: None
LANG: en
LOCALE: None.None
pandas: 0.24.2
pytest: 4.4.1
pip: 19.0.3
setuptools: 40.8.0
Cython: 0.29.6
numpy: 1.16.2
scipy: 1.2.1
pyarrow: None
xarray: None
IPython: 7.4.0
sphinx: 1.8.5
patsy: 0.5.1
dateutil: 2.8.0
pytz: 2018.9
blosc: None
bottleneck: 1.2.1
tables: 3.5.1
numexpr: 2.6.9
feather: None
matplotlib: 3.0.3
openpyxl: 2.6.1
xlrd: 1.2.0
xlwt: 1.3.0
xlsxwriter: 1.1.5
lxml.etree: 4.3.2
bs4: 4.7.1
html5lib: 1.0.1
sqlalchemy: 1.3.1
pymysql: 0.9.3
psycopg2: None
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
gcsfs: None
The text was updated successfully, but these errors were encountered: