[C++-sig] Boost Python. access pandas columns in the same order as in python

Vladimir Sakharuk vsakharuk at tower-research.com
Wed Oct 5 13:06:16 EDT 2016


It looks like I had other "bug" aka replacing with OrderedDict solved the problem.

________________________________
From: Cplusplus-sig <cplusplus-sig-bounces+vsakharuk=tower-research.com at python.org> on behalf of Jim Bosch <jbosch at astro.princeton.edu>
Sent: Wednesday, October 5, 2016 12:36 PM
To: Development of Python/C++ integration
Subject: Re: [C++-sig] Boost Python. access pandas columns in the same order as in python

Note that in Python 3.3+, dict order is nondeterministic, not just arbitrary:

http://stackoverflow.com/questions/14956313/dictionary-ordering-non-deterministic-in-python3

So if these are invoking dict ordering under the hood, anything is possible.

Jim




On Wed, Oct 5, 2016 at 12:31 PM, Stefan Seefeld <stefan at seefeld.name<mailto:stefan at seefeld.name>> wrote:
On 04.10.2016 09:05, Vladimir Sakharuk wrote:
>
> Hello All,
>
>
> Trying to figure out how to c++ access pandas dataframe columns in the
> same order as they exist in the python.
>
> in python:
>

[...]

> ||
> |    //outputs regardless of original order of column names.
> //index=0, colname=AAA    //index=1, colname=BBB    //index=2,
> colname=CCC|
>
> As you can see pythons' order 'CCC','BBB','AAA' is not same as c++
> 'AAA', 'BBB', 'CCC'. Looks like those order depend on object hasing.
>
>
> How could I get those values in the original order of pandas dataframe
> from C++?
>

I can't reproduce that; I see the same order (['CCC', 'BBB', 'AAA'])
both in Python and in C++ with your code above.

FWIW,
        Stefan


--

      ...ich hab' noch einen Koffer in Berlin...

_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig at python.org<mailto:Cplusplus-sig at python.org>
https://mail.python.org/mailman/listinfo/cplusplus-sig

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20161005/6d802d42/attachment.html>


More information about the Cplusplus-sig mailing list