Code Monkey home page Code Monkey logo

Comments (4)

dotsdl avatar dotsdl commented on July 24, 2024

This appears to be due to the defaults chosen for pandas object storage. The MDSynthesis.core.persistence.pdDataFile.add_data method first tries to store the object with data_columns=True, which will create an index that allows PyTables where queries to be performed on columns. However, this is a problem if column names start with numbers, and so the method falls back on not using data_columns=True if it fails.

This appears to work for all of the DataFrames in this test except for the 1D one. For all of those, an AttributeError is raised and caught as expected. But for that one, no AttributeError is raised.

I'll add a band-aid heuristic to catch this corner case, then I'll submit an issue to pandas to hopefully get it resolved there. Thanks for catching this!

from mdsynthesis.

dotsdl avatar dotsdl commented on July 24, 2024

I'm stealing these tests for the unittests, btw. :D

from mdsynthesis.

dotsdl avatar dotsdl commented on July 24, 2024

Hopefully there aren't any other weird corner cases that HDFStore doesn't catch. Otherwise, we'll just have to work around them.

from mdsynthesis.

cing avatar cing commented on July 24, 2024

Awesome, I just tried it and the issue is certainly resolved. I guess the lesson is to use sensible column names!

from mdsynthesis.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.