ROOT version: 6.26/10
I am using the following piece of code
now = datetime.now()
print("Generating Pandas dataframe =", now)
print(matrix)
proper_df = pd.DataFrame(matrix, columns=['parallax', 'l', 'b','pm_l', 'pm_b', 'magnitude', 'color'])
print( proper_df)
now = datetime.now()
print("Producing ROOT DataFrame =", now)
import ROOT
## Creating dictionary
data = {key: proper_df[key].values for key in ['parallax', 'l', 'b','pm_l', 'pm_b', 'magnitude', 'color']}
### Importing data into
rdf = ROOT.RDF.MakeNumpyDataFrame(data)
v = ROOT.std.vector('std::string')()
for c in 'l','b':
v.push_back(c)
rdf.Display(v).Print()
which produces the following output where the first table corresponds with the output of print(proper_df)
:
parallax l b pm_l pm_b magnitude color
0 2.158725 60.932756 1.269390 -17.381837 4.670821 4.703799 0.859818
1 2.576730 313.518296 -15.871396 -22.180314 -24.931456 8.013769 1.771934
2 2.385456 30.267749 38.974277 -28.801145 -19.696003 7.974508 1.775928
3 2.175398 30.530035 38.815607 -142.223215 -0.863566 7.056881 1.179138
4 2.571299 275.654991 7.644397 -6.823191 -1.691966 7.050820 1.417338
.. ... ... ... ... ... ... ...
95 2.023176 81.900062 -2.715665 -13.994875 -6.039254 4.720939 0.817693
96 3.145522 61.010189 1.398766 15.423644 15.206858 8.718377 2.085330
97 2.198841 60.995161 1.277770 -15.658211 -7.776939 6.903541 1.376757
98 2.200272 275.644034 7.156376 -35.668185 0.870158 5.795724 1.117216
99 4.986673 81.857990 -2.974277 23.179721 -13.404977 6.216597 1.137499
[100 rows x 7 columns]
Producing ROOT DataFrame = 2023-05-10 11:53:28.522410
+-----+------------+------------+
| Row | l | b |
+-----+------------+------------+
| 0 | 60.932756 | 1.2693897 |
+-----+------------+------------+
| 1 | 1.2693897 | -17.381837 |
+-----+------------+------------+
| 2 | -17.381837 | 4.6708207 |
+-----+------------+------------+
| 3 | 4.6708207 | 4.7037991 |
+-----+------------+------------+
| 4 | 4.7037991 | 0.85981780 |
+-----+------------+------------+
Finished = 2023-05-10 11:53:32.572715
As you can see, there is a problem on the assignment of l
and b
. where it happens that in the last table, where RDataFrame is printed using Display()
, the entries satisfy b[n]=l[n+1]
. Strange!
Could you help to identify the problem in this code?
Thank you!
EDIT: Additional info. If I print the contents of data
that I provide as input to MakeNumpyDataFrame
what I get is reasonable I believe.
{'parallax': array([ 2.15872542, 2.57673007, 2.38545611, 2.17539754, 2.57129924,
3.8691927 , 2.87837139, 3.18227159, 2.86224893, 10.63898523,
2.87562284, 3.20864882, 2.73739218, 4.41346492, 2.74740001,
2.95457411, 4.02789036, 3.1716817 , 4.43241514, 2.42615155,
3.96647425, 3.19196419, 3.45031594, 2.45236228, 2.13406635,
7.67451217, 2.37575767, 3.1396145 , 2.9005522 , 2.78427821,
2.65864821, 2.11546437, 6.36523308, 2.67626981, 2.03807175,
2.60072456, 2.72737925, 2.28009084, 4.11843589, 3.03037913,
5.93875232, 4.09415142, 3.55560737, 9.34865548, 4.51723747,
3.03015064, 2.93485818, 3.10128016, 2.00027805, 9.99573 ,
5.38311434, 2.34499055, 3.42258671, 2.03652384, 2.43559432,
2.89619976, 3.07935733, 7.36848988, 4.44538535, 2.14202247,
2.39138679, 2.48895757, 7.5987215 , 2.20014471, 5.12479522,
5.64957344, 3.50967845, 2.58462609, 5.30922648, 11.18997726,
5.64931633, 2.27380136, 3.18081204, 2.31270492, 2.62939855,
8.81330769, 10.20667037, 2.26452663, 3.10359238, 2.03522005,
2.26598629, 2.70042817, 2.60527089, 2.53934173, 3.22542614,
2.03947057, 2.30563953, 3.33399898, 5.92346301, 2.95265334,
2.64498688, 3.23204139, 2.04363999, 4.02786576, 2.18413548,
2.02317593, 3.14552162, 2.19884108, 2.20027194, 4.98667335]), 'l': array([6.09327562e+01, 3.13518296e+02, 3.02677485e+01, 3.05300351e+01,
2.75654991e+02, 3.29270158e+02, 9.53407700e-01, 3.14719906e+02,
3.06605279e+01, 8.18389504e+01, 2.75707838e+02, 3.06614815e+01,
1.38347883e+00, 1.23265149e+00, 3.23608568e+02, 1.01858029e+00,
8.22879060e+01, 3.28637007e+02, 3.11808060e+01, 1.48528589e+00,
8.14570284e+01, 3.13152981e+02, 3.07482952e+01, 3.07261569e+01,
3.12769801e+01, 3.13398087e+02, 8.26861992e+01, 2.75798940e+02,
3.14832102e+02, 3.28745289e+02, 1.23947582e+00, 1.19575863e+00,
2.96537387e+01, 1.67082478e+00, 3.59955573e+02, 2.73292504e-01,
1.46054809e+00, 3.59505346e-01, 3.29257244e+02, 3.53176633e+02,
2.99431589e+01, 2.92410380e+01, 3.13634341e+02, 2.96188580e+01,
1.01402869e-02, 6.63280862e-01, 3.59835426e+02, 8.18133945e+01,
2.75831837e+02, 8.14695169e+01, 8.27381628e+01, 3.29299582e+02,
3.13757486e+02, 2.77417383e+01, 6.96811294e-01, 2.74007857e+01,
2.75790839e+02, 2.97093196e+01, 8.93864276e-01, 3.14978928e+02,
3.07598484e+01, 1.40006538e+00, 2.99472739e+01, 3.05776835e+01,
2.46505987e-01, 3.29317869e+02, 3.13517677e+02, 2.76307561e+01,
2.79578435e+01, 4.68291837e-01, 6.11497461e+01, 6.10194976e+01,
7.06191582e-01, 3.05904922e+01, 2.98473692e+01, 2.73004299e+01,
2.97862718e+01, 3.10283098e+01, 3.04425667e+01, 6.82697651e+01,
6.80996319e+01, 8.27350924e+01, 2.91482192e+01, 3.10708664e+01,
3.13139319e+02, 3.01666123e+01, 2.78833493e+01, 3.13666650e+02,
2.72614325e+01, 2.93893214e+01, 3.08556308e+01, 1.76946968e+00,
2.92470945e+01, 4.60971232e-01, 1.61273592e-01, 8.19000616e+01,
6.10101894e+01, 6.09951606e+01, 2.75644034e+02, 8.18579899e+01]), 'b': array([ 1.26938965, -15.87139591, 38.97427651, 38.81560694,
7.64439664, 12.04283097, -35.49829779, -7.04534895,
38.97776915, -2.98654001, 6.99260663, 38.97717436,
-35.47316568, -35.41145117, -4.90660283, -35.56134137,
-4.98499371, 13.59383819, 39.52763486, -35.00973382,
-2.71523762, -16.03630639, 38.71696002, 39.52581843,
39.47716443, -16.21855697, -5.05937835, 7.51127824,
-7.13664512, 13.69131873, -34.88633253, -35.03739562,
39.74601765, -34.87018129, -34.92504029, -34.41020341,
-35.30029588, -34.4434604 , 12.02679776, -10.58566483,
39.62902063, 40.10024658, -16.49837386, 39.67610136,
-35.10803878, -35.003797 , -34.90972105, -2.68747068,
7.05815494, -2.83954451, -5.25331206, 12.40487308,
-15.84055691, 40.77311606, -35.14722934, 41.35457159,
7.49462463, 39.9016405 , -35.35207749, -7.25410129,
39.39053438, -35.09826058, 39.06870965, 39.52917509,
-34.98732209, 12.02946484, -16.40831482, 41.01040421,
40.74746766, -35.14713802, 1.36163857, 1.36135354,
-34.94089486, 39.49890998, 40.02606905, 41.31134065,
39.91510686, 39.34789913, 39.34162499, 6.3703476 ,
6.30776569, -5.18100082, 40.14802083, 39.38718183,
-16.08912266, 39.78732447, 40.93020195, -16.04312782,
41.40095398, 40.1508675 , 39.51696017, -34.94630027,
40.20694158, -35.14189678, -35.06726516, -2.71566535,
1.39876646, 1.27776974, 7.15637553, -2.97427708]), 'pm_l': array([ -17.38183714, -22.18031421, -28.80114546, -142.22321454,
-6.82319137, -21.7375777 , 2.20950271, -13.27081567,
-9.26711984, 86.17215957, -4.76276672, -10.92829219,
11.14478181, -80.58669484, 9.35407954, 4.54353744,
-4.30808881, 14.97939088, -14.21156891, -6.77751647,
23.03772076, -26.52026912, -31.70489804, 7.21844824,
-17.48131913, -6.95452441, -18.98404001, -39.68992135,
-6.1690501 , 15.48857694, -1.59029258, -26.20361474,
-65.87072403, -12.4900866 , -5.71582509, 4.54869004,
-28.16447856, -22.74840106, -13.55485693, -34.42004311,
26.48179695, 20.49173022, -8.74572368, -242.94879421,
-1.56845539, -46.64586607, -23.88872221, 3.53915366,
-18.38223114, 59.81891336, -11.98573211, -8.65734055,
-20.45840285, -5.33086643, 2.65335863, -41.91290097,
-19.78376373, -21.68021479, -30.46906694, -9.39733064,
-7.03313104, -6.49570419, -20.36263801, -9.52217357,
-112.31821807, 27.17787054, -7.04120875, -70.61825242,
-11.83855098, 28.62486283, 20.3524469 , 5.4993443 ,
-35.41640526, 3.64842136, 2.75528076, -48.17426415,
-77.13745461, -6.7795623 , -32.68235904, 33.77802026,
15.40710639, -23.06592105, -26.75867834, -17.09817523,
7.35554559, -2.11529608, 25.20193849, -14.25655948,
-123.66221596, -21.95881812, 8.72993991, -34.39230177,
-19.16361486, -12.33397481, -6.12301254, -13.99487484,
15.42364375, -15.65821054, -35.66818469, 23.17972134]), 'pm_b': array([ 4.67082069e+00, -2.49314559e+01, -1.96960027e+01, -8.63566112e-01,
-1.69196593e+00, 6.43640689e-01, 3.50133809e+00, -1.29843125e+01,
9.39019112e+00, -2.60348168e+01, -1.44027413e+01, 1.04423151e+01,
-1.82048947e+01, 2.00749016e+01, 4.62624316e+00, 7.61262231e+00,
-4.41863273e+00, -1.45436674e+01, -1.93074065e+01, -2.41607122e-01,
-7.49459185e+00, -2.10039701e+01, 1.12593796e+01, 5.65177888e+00,
1.22448590e+00, -1.16182048e+01, -4.52019059e+00, -6.23814847e+00,
3.33198655e+00, 1.40980841e+00, -3.64039432e+00, -8.94691708e+00,
3.58674372e+01, -7.18984658e+00, 6.23058468e+00, -2.14448207e+01,
-1.22473991e+01, 8.93755331e+00, -9.55122076e+00, -2.49904707e+01,
7.54100076e+00, 1.77748635e+01, -8.28068759e+00, -4.06896940e+01,
-1.83661113e+01, -4.21320202e+01, -1.38581863e+01, -9.19886564e+00,
2.99422415e+00, 5.78671586e-02, 4.53204621e+00, -7.27750146e+00,
-8.32971675e+00, 7.75888562e+00, -1.39659031e+00, 2.78698687e+01,
2.57157348e+01, 2.27410690e+01, -1.92086703e+01, -8.70422143e+00,
-3.15728002e+01, -3.21891177e+01, 2.26934149e+01, 7.07067812e+00,
-4.08487793e+01, -8.12305377e+00, -1.64567532e+00, -2.27018706e+01,
-1.76696173e+01, -4.85767366e+00, -3.07557588e+01, 6.25066009e-01,
-6.14069086e+00, -1.15843017e+01, 5.30410095e+01, 3.14104696e+00,
9.05725166e+01, 1.15547089e+01, 1.95891862e+01, 1.09790655e+01,
-1.66858380e+00, -1.30469762e+01, 5.63443710e+00, -1.09821997e+01,
6.56896270e+00, 1.68531500e+00, -2.47482039e+00, -6.67737283e+00,
3.65764095e+01, -4.94469871e-01, -1.90265585e+00, -1.55921476e+01,
-2.13910954e+01, -4.36357547e+01, -1.40627942e+01, -6.03925374e+00,
1.52068582e+01, -7.77693850e+00, 8.70158224e-01, -1.34049771e+01]), 'magnitude': array([ 4.70379914, 8.0137692 , 7.974508 , 7.05688147, 7.05082033,
7.05840304, 8.62738583, 7.54100897, 3.05212412, 8.78094344,
7.9930548 , 4.12413832, 7.74216511, 6.57977913, 5.38443263,
5.83848404, 9.46962686, 5.29854603, 4.21750467, 4.18406533,
9.23142406, 8.56539503, 9.18810223, 5.4463944 , 5.30165444,
4.48928454, 6.61963418, 6.20148464, 7.57531999, 6.30779929,
5.48638154, 2.27627479, 4.00089071, 6.57554907, 7.40541321,
8.06151573, 5.13503412, 8.51837365, 8.58352922, 9.17168695,
4.12312714, 10.04546725, 7.50023549, 4.73026784, 9.63350501,
8.76955521, 5.16958729, 3.62257717, 6.56330364, 6.94656137,
6.61477896, 7.46486983, 5.47951728, 4.28821809, 2.02478349,
8.64127491, 3.66166842, 6.14784464, 9.18723231, 2.16263166,
8.41509399, 3.39364833, 10.03472032, 8.36949615, 8.58366853,
9.17674814, 5.29941003, 6.36482885, 3.71207414, 12.06051984,
10.08225272, 6.26525751, 5.82671115, 6.40268673, 7.47076303,
10.49725152, 8.6171486 , 8.05555542, 7.75128029, 8.0022377 ,
4.92608383, 8.61946059, 4.91926268, 6.89378779, 4.96218027,
7.61480981, 5.9393223 , 8.83710019, 8.09971293, 6.69541121,
8.75416168, 9.17544014, 8.01431368, 9.40985065, 8.59471521,
4.72093935, 8.71837709, 6.90354085, 5.79572435, 6.21659653]), 'color': array([0.8598178 , 1.77193391, 1.77592754, 1.17913783, 1.41733754,
1.44105136, 1.99255407, 1.66220117, 0.44668275, 2.10221648,
1.74255049, 0.73920512, 1.68899453, 1.25041759, 0.96388108,
1.02620852, 2.41805482, 0.94841933, 0.74345654, 0.72107244,
2.18330026, 2.01042366, 2.13342476, 0.95916575, 0.9714551 ,
0.73446208, 1.2916981 , 1.20408475, 1.68959403, 1.12750256,
1.02399659, 0.20194447, 0.69994354, 1.29029334, 1.50830388,
1.6648109 , 0.92772084, 2.08315468, 2.0290184 , 2.14826632,
0.70423794, 2.54981923, 1.6537993 , 0.86238605, 2.34955525,
2.04796314, 0.92363471, 0.63651991, 1.31985772, 1.4017514 ,
1.34220672, 1.62367344, 0.98726749, 0.83313906, 0.15593046,
2.02064133, 0.64740551, 1.13188791, 2.13717985, 0.21699283,
1.85563195, 0.56970888, 2.52416873, 1.98554289, 1.97456646,
2.10999727, 0.93294924, 1.23214948, 0.58338737, 3.26184249,
2.51768732, 1.19506288, 1.08121181, 1.25757432, 1.60119998,
2.65808773, 1.97307515, 1.88490129, 1.75574946, 1.76113951,
0.88542509, 2.00170588, 0.87367433, 1.42328882, 0.87070751,
1.63809741, 0.98744702, 2.09124637, 1.88311839, 1.37052 ,
2.01059151, 2.25174952, 1.76458108, 2.07267547, 1.61066973,
0.81769294, 2.08533025, 1.37675703, 1.11721611, 1.13749862])}