Manipulating the Pandas DataFrame
=================================
The Jupyter notebook for this demo can be found in: -
docs/quick_start/demo/op2_pandas_unstack.ipynb -
https://github.com/SteveDoyle2/pyNastran/tree/main/docs/quick_start/demo/op2_pandas_unstack.ipynb
This example will use pandas unstack
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The unstack method on a DataFrame moves on index level from rows to
columns. First let’s read in some data:
.. code:: ipython3
import os
import pyNastran
pkg_path = pyNastran.__path__[0]
from pyNastran.op2.op2 import read_op2
import pandas as pd
pd.set_option('precision', 2)
op2_filename = os.path.join(pkg_path, '..', 'models', 'iSat', 'iSat_launch_100Hz.op2')
from pyNastran.op2.op2 import read_op2
isat = read_op2(op2_filename, build_dataframe=True, debug=False, skip_undefined_matrices=True)
.. raw:: html
INFO: op2_scalar.py:1588 op2_filename = 'c:\\nasa\\m4\\formats\\git\\pynastran\\pyNastran\\..\\models\\iSat\\iSat_launch_100Hz.op2'
.. parsed-literal::
self.cannot apply column_names=['Mode', 'Freq'] to RealStrainEnergyArray: 'QUAD4'
self.cannot apply column_names=['Mode', 'Freq'] to RealStrainEnergyArray: 'TRIA3'
self.cannot apply column_names=['Mode', 'Freq'] to RealStrainEnergyArray: 'HEXA'
self.cannot apply column_names=['Mode', 'Freq'] to RealStrainEnergyArray: 'BAR'
self.cannot apply column_names=['Mode', 'Freq'] to RealStrainEnergyArray: 'BUSH'
.. code:: ipython3
cbar = isat.cbar_force[1].data_frame
.. code:: ipython3
cbar.head()
.. raw:: html
|
Mode |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
... |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
|
Freq |
8.36 |
9.51 |
15.67 |
20.24 |
20.31 |
20.55 |
21.50 |
21.71 |
21.72 |
28.54 |
... |
80.08 |
86.49 |
88.17 |
88.48 |
89.93 |
94.29 |
94.37 |
96.04 |
98.70 |
98.89 |
|
Eigenvalue |
2758.15 |
3568.63 |
9689.98 |
16168.04 |
16278.16 |
16679.71 |
18248.43 |
18600.70 |
18632.55 |
32159.89 |
... |
253141.17 |
295300.94 |
306886.00 |
309040.66 |
319267.09 |
350984.50 |
351566.19 |
364166.31 |
384601.34 |
386090.47 |
|
Radians |
52.52 |
59.74 |
98.44 |
127.15 |
127.59 |
129.15 |
135.09 |
136.38 |
136.50 |
179.33 |
... |
503.13 |
543.42 |
553.97 |
555.91 |
565.04 |
592.44 |
592.93 |
603.46 |
620.16 |
621.36 |
| ElementID |
Item |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3323 |
bending_moment_a1 |
-0.16 |
-0.23 |
-1.33 |
-2.32e+00 |
-1.88 |
-0.80 |
-1.34e-03 |
1.42 |
1.47 |
4.65 |
... |
-43.42 |
63.36 |
-43.07 |
-3.35 |
11.08 |
-14.38 |
0.75 |
29.36 |
0.49 |
-4.56 |
| bending_moment_a2 |
0.19 |
0.05 |
0.18 |
5.58e-03 |
-0.11 |
-0.42 |
-4.19e-03 |
-1.11 |
0.10 |
-1.57 |
... |
-4.50 |
5.33 |
1.63 |
4.86 |
2.15 |
0.09 |
-1.27 |
-10.58 |
-0.67 |
3.48 |
| bending_moment_b1 |
0.17 |
0.21 |
2.01 |
2.66e+00 |
1.88 |
0.73 |
2.29e-03 |
-1.38 |
-1.31 |
-3.98 |
... |
34.70 |
-74.02 |
35.13 |
3.54 |
-15.03 |
10.97 |
-0.67 |
-17.69 |
-0.63 |
6.39 |
| bending_moment_b2 |
-0.19 |
-0.05 |
-0.18 |
-3.54e-03 |
0.11 |
0.43 |
4.18e-03 |
1.11 |
-0.10 |
1.57 |
... |
4.50 |
-5.34 |
-1.62 |
-4.86 |
-2.15 |
-0.08 |
1.27 |
10.56 |
0.67 |
-3.49 |
| shear1 |
-0.13 |
-0.18 |
-1.33 |
-1.99e+00 |
-1.50 |
-0.61 |
-1.45e-03 |
1.12 |
1.11 |
3.45 |
... |
-31.25 |
54.95 |
-31.28 |
-2.76 |
10.44 |
-10.14 |
0.57 |
18.82 |
0.44 |
-4.38 |
5 rows × 33 columns
First I’m going to pull out a small subset to work with
.. code:: ipython3
csub = cbar.loc[3323:3324,1:2]
csub
.. raw:: html
|
Mode |
1 |
2 |
|
Freq |
8.36 |
9.51 |
|
Eigenvalue |
2758.15 |
3568.63 |
|
Radians |
52.52 |
59.74 |
| ElementID |
Item |
|
|
| 3323 |
bending_moment_a1 |
-0.16 |
-0.23 |
| bending_moment_a2 |
0.19 |
0.05 |
| bending_moment_b1 |
0.17 |
0.21 |
| bending_moment_b2 |
-0.19 |
-0.05 |
| shear1 |
-0.13 |
-0.18 |
| shear2 |
0.15 |
0.04 |
| axial |
0.80 |
-0.21 |
| torque |
-0.04 |
0.06 |
| 3324 |
bending_moment_a1 |
0.14 |
0.29 |
| bending_moment_a2 |
-0.19 |
-0.05 |
| bending_moment_b1 |
-0.15 |
-0.26 |
| bending_moment_b2 |
0.19 |
0.05 |
| shear1 |
0.12 |
0.22 |
| shear2 |
-0.15 |
-0.04 |
| axial |
-0.80 |
0.21 |
| torque |
0.04 |
-0.06 |
I happen to like the way that’s organized, but let’s say that I want the
have the item descriptions in columns and the mode ID’s and element
numbers in rows. To do that, I’ll first move the element ID’s up to the
columns using a .unstack(level=0) and the transpose the result:
.. code:: ipython3
csub.unstack(level=0).T
.. raw:: html
|
|
|
|
Item |
axial |
bending_moment_a1 |
bending_moment_a2 |
bending_moment_b1 |
bending_moment_b2 |
shear1 |
shear2 |
torque |
| Mode |
Freq |
Eigenvalue |
Radians |
ElementID |
|
|
|
|
|
|
|
|
| 1 |
8.36 |
2758.15 |
52.52 |
3323 |
0.80 |
-0.16 |
0.19 |
0.17 |
-0.19 |
-0.13 |
0.15 |
-0.04 |
| 3324 |
-0.80 |
0.14 |
-0.19 |
-0.15 |
0.19 |
0.12 |
-0.15 |
0.04 |
| 2 |
9.51 |
3568.63 |
59.74 |
3323 |
-0.21 |
-0.23 |
0.05 |
0.21 |
-0.05 |
-0.18 |
0.04 |
0.06 |
| 3324 |
0.21 |
0.29 |
-0.05 |
-0.26 |
0.05 |
0.22 |
-0.04 |
-0.06 |
unstack requires unique row indices so I can’t work with CQUAD4 stresses
as they’re currently output, but I’ll work with CHEXA stresses. Let’s
pull out the first two elements and first two modes:
.. code:: ipython3
chs = isat.chexa_stress[1].data_frame.loc[3684:3685,1:2]
chs
.. raw:: html
|
|
Mode |
1 |
2 |
|
|
Freq |
8.36 |
9.51 |
|
|
Eigenvalue |
2758.15 |
3568.63 |
|
|
Radians |
52.52 |
59.74 |
| ElementID |
NodeID |
Item |
|
|
| 3684 |
0 |
oxx |
1.22e-12 |
-3.41e-13 |
| oyy |
-3.35e-12 |
-2.27e-13 |
| ozz |
1.25e-12 |
4.55e-13 |
| txy |
-3.27e-13 |
1.82e-12 |
| tyz |
2.84e-14 |
3.98e-13 |
| ... |
... |
... |
... |
... |
| 3685 |
1037 |
txz |
-2.84e-13 |
-1.82e-12 |
| omax |
-7.47e-15 |
2.08e-12 |
| omid |
-1.15e-13 |
-2.71e-13 |
| omin |
-1.00e-12 |
-1.70e-12 |
| von_mises |
9.43e-13 |
3.30e-12 |
180 rows × 2 columns
Now I want to put ElementID and the Node ID in the rows along with the
Load ID, and have the items in the columns:
.. code:: ipython3
cht = chs.unstack(level=[0,1]).T
cht
.. raw:: html
|
|
|
|
|
Item |
omax |
omid |
omin |
oxx |
oyy |
ozz |
txy |
txz |
tyz |
von_mises |
| Mode |
Freq |
Eigenvalue |
Radians |
ElementID |
NodeID |
|
|
|
|
|
|
|
|
|
|
| 1 |
8.36 |
2758.15 |
52.52 |
3684 |
0 |
1.48e-12 |
1.02e-12 |
-3.38e-12 |
1.22e-12 |
-3.35e-12 |
1.25e-12 |
-3.27e-13 |
-2.27e-13 |
2.84e-14 |
4.64e-12 |
| 55 |
4.81e-12 |
1.92e-13 |
-3.57e-13 |
4.53e-12 |
-2.42e-13 |
3.55e-13 |
-6.54e-13 |
-9.30e-13 |
2.20e-15 |
4.92e-12 |
| 51 |
2.32e-12 |
1.49e-13 |
-1.41e-12 |
-1.39e-12 |
2.32e-12 |
1.35e-13 |
-1.30e-13 |
-1.46e-13 |
7.51e-15 |
3.25e-12 |
| 778 |
-1.38e-12 |
-3.27e-12 |
-6.12e-12 |
-6.08e-12 |
-1.38e-12 |
-3.31e-12 |
-5.81e-14 |
-3.41e-13 |
-1.97e-14 |
4.14e-12 |
| 758 |
5.79e-12 |
4.11e-12 |
7.57e-14 |
5.68e-12 |
1.14e-13 |
4.18e-12 |
-4.55e-13 |
-3.41e-13 |
-3.91e-14 |
5.09e-12 |
| ... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
| 2 |
9.51 |
3568.63 |
59.74 |
3685 |
1015 |
1.19e-12 |
-9.78e-14 |
-6.96e-13 |
3.41e-13 |
-5.68e-14 |
1.14e-13 |
-2.27e-13 |
-9.09e-13 |
1.13e-13 |
1.67e-12 |
| 50 |
4.88e-13 |
-1.28e-13 |
-1.21e-12 |
-3.98e-13 |
1.14e-13 |
-5.68e-13 |
-5.68e-13 |
-4.90e-13 |
-2.27e-13 |
1.49e-12 |
| 46 |
6.22e-13 |
2.26e-14 |
-5.87e-13 |
-2.84e-13 |
3.41e-13 |
0.00e+00 |
4.54e-13 |
9.59e-14 |
-2.27e-13 |
1.05e-12 |
| 1031 |
2.32e-12 |
-6.90e-13 |
-1.63e-12 |
-2.27e-13 |
-6.82e-13 |
9.09e-13 |
4.55e-13 |
-1.82e-12 |
-2.27e-13 |
3.57e-12 |
| 1037 |
2.08e-12 |
-2.71e-13 |
-1.70e-12 |
4.55e-13 |
-3.41e-13 |
0.00e+00 |
-3.98e-13 |
-1.82e-12 |
-1.14e-13 |
3.30e-12 |
68 rows × 10 columns
Maybe I’d like my rows organized with the modes on the inside. I can do
that by swapping levels:
We actually need to get rid of the extra rows using dropna():
.. code:: ipython3
cht = cht.dropna()
cht
.. raw:: html
|
|
|
|
|
Item |
omax |
omid |
omin |
oxx |
oyy |
ozz |
txy |
txz |
tyz |
von_mises |
| Mode |
Freq |
Eigenvalue |
Radians |
ElementID |
NodeID |
|
|
|
|
|
|
|
|
|
|
| 1 |
8.36 |
2758.15 |
52.52 |
3684 |
0 |
1.48e-12 |
1.02e-12 |
-3.38e-12 |
1.22e-12 |
-3.35e-12 |
1.25e-12 |
-3.27e-13 |
-2.27e-13 |
2.84e-14 |
4.64e-12 |
| 55 |
4.81e-12 |
1.92e-13 |
-3.57e-13 |
4.53e-12 |
-2.42e-13 |
3.55e-13 |
-6.54e-13 |
-9.30e-13 |
2.20e-15 |
4.92e-12 |
| 51 |
2.32e-12 |
1.49e-13 |
-1.41e-12 |
-1.39e-12 |
2.32e-12 |
1.35e-13 |
-1.30e-13 |
-1.46e-13 |
7.51e-15 |
3.25e-12 |
| 778 |
-1.38e-12 |
-3.27e-12 |
-6.12e-12 |
-6.08e-12 |
-1.38e-12 |
-3.31e-12 |
-5.81e-14 |
-3.41e-13 |
-1.97e-14 |
4.14e-12 |
| 758 |
5.79e-12 |
4.11e-12 |
7.57e-14 |
5.68e-12 |
1.14e-13 |
4.18e-12 |
-4.55e-13 |
-3.41e-13 |
-3.91e-14 |
5.09e-12 |
| 60 |
2.88e-12 |
1.71e-12 |
-4.27e-12 |
2.63e-12 |
1.90e-12 |
-4.21e-12 |
-4.26e-13 |
-6.34e-13 |
8.53e-14 |
6.64e-12 |
| 56 |
1.66e-12 |
-1.65e-12 |
-5.92e-12 |
-5.87e-12 |
1.65e-12 |
-1.69e-12 |
-3.07e-13 |
-4.22e-13 |
8.53e-14 |
6.59e-12 |
| 880 |
2.63e-12 |
2.11e-12 |
-4.74e-12 |
-4.72e-12 |
2.10e-12 |
2.61e-12 |
-3.41e-13 |
0.00e+00 |
8.53e-14 |
7.12e-12 |
| 952 |
-8.35e-15 |
-1.79e-12 |
-3.00e-12 |
-1.73e-12 |
-1.14e-13 |
-2.96e-12 |
-4.26e-13 |
2.27e-13 |
5.68e-14 |
2.61e-12 |
| 3685 |
0 |
5.11e-13 |
1.44e-13 |
-5.41e-13 |
4.97e-13 |
1.56e-13 |
-5.40e-13 |
6.75e-14 |
-2.84e-14 |
1.42e-14 |
9.25e-13 |
| 45 |
8.09e-13 |
-5.47e-13 |
-8.09e-13 |
6.79e-13 |
-7.89e-13 |
-4.37e-13 |
6.39e-14 |
-4.02e-13 |
5.15e-14 |
1.50e-12 |
| 41 |
7.67e-13 |
-1.49e-13 |
-4.37e-13 |
-1.49e-13 |
7.21e-13 |
-3.91e-13 |
1.92e-13 |
1.14e-13 |
5.33e-14 |
1.09e-12 |
| 1021 |
7.75e-13 |
1.86e-13 |
-5.38e-13 |
1.56e-13 |
1.60e-13 |
1.07e-13 |
1.94e-13 |
-6.25e-13 |
5.47e-14 |
1.14e-12 |
| 1015 |
8.67e-13 |
1.56e-13 |
-6.65e-13 |
2.98e-13 |
1.53e-13 |
-9.24e-14 |
2.84e-14 |
-7.39e-13 |
4.51e-14 |
1.33e-12 |
| 50 |
9.64e-13 |
7.11e-13 |
-6.57e-14 |
-3.91e-14 |
7.11e-13 |
9.38e-13 |
-4.26e-14 |
-1.57e-13 |
1.42e-14 |
9.29e-13 |
| 46 |
2.26e-12 |
7.91e-13 |
7.55e-14 |
2.25e-12 |
7.96e-13 |
7.82e-14 |
8.37e-14 |
-7.01e-14 |
1.42e-14 |
1.93e-12 |
| 1031 |
-8.72e-13 |
-1.24e-12 |
-1.87e-12 |
-1.68e-12 |
-8.81e-13 |
-1.42e-12 |
8.53e-14 |
-2.84e-13 |
4.26e-14 |
8.75e-13 |
| 1037 |
-7.47e-15 |
-1.15e-13 |
-1.00e-12 |
-9.95e-14 |
-1.14e-13 |
-9.09e-13 |
-7.11e-15 |
-2.84e-13 |
2.84e-14 |
9.43e-13 |
| 2 |
9.51 |
3568.63 |
59.74 |
3684 |
0 |
2.22e-12 |
-1.06e-13 |
-2.23e-12 |
-3.41e-13 |
-2.27e-13 |
4.55e-13 |
1.82e-12 |
1.14e-12 |
3.98e-13 |
3.85e-12 |
| 55 |
3.64e-12 |
9.55e-13 |
-1.33e-12 |
2.33e-12 |
-5.68e-14 |
9.95e-13 |
1.82e-12 |
4.26e-13 |
1.12e-12 |
4.31e-12 |
| 51 |
7.48e-13 |
-3.94e-13 |
-1.46e-12 |
-3.41e-13 |
5.68e-14 |
-8.24e-13 |
1.57e-13 |
3.85e-13 |
9.24e-13 |
1.91e-12 |
| 778 |
1.24e-12 |
-5.76e-13 |
-2.37e-12 |
-2.27e-12 |
7.96e-13 |
-2.27e-13 |
1.25e-13 |
4.55e-13 |
7.73e-13 |
3.13e-12 |
| 758 |
1.03e-12 |
-1.04e-12 |
-3.57e-12 |
-5.68e-13 |
-2.33e-12 |
-6.82e-13 |
1.82e-12 |
4.55e-13 |
9.08e-13 |
3.99e-12 |
| 60 |
1.02e-12 |
-2.20e-12 |
-2.85e-12 |
-1.48e-12 |
-3.41e-13 |
-2.22e-12 |
1.82e-12 |
2.64e-13 |
1.14e-13 |
3.59e-12 |
| 56 |
5.04e-13 |
-3.52e-13 |
-2.37e-12 |
-1.82e-12 |
-7.96e-13 |
3.98e-13 |
-9.10e-13 |
-3.23e-13 |
1.14e-13 |
2.55e-12 |
| 880 |
1.79e-12 |
6.09e-13 |
-2.51e-12 |
1.25e-12 |
-2.27e-12 |
9.09e-13 |
-9.09e-13 |
-4.55e-13 |
3.41e-13 |
3.85e-12 |
| 952 |
1.30e-12 |
1.93e-13 |
-2.63e-12 |
-9.09e-13 |
-6.82e-13 |
4.55e-13 |
1.82e-12 |
4.55e-13 |
2.27e-13 |
3.51e-12 |
| 3685 |
0 |
1.18e-12 |
-3.91e-15 |
-9.47e-13 |
-1.14e-13 |
1.14e-13 |
2.27e-13 |
4.97e-13 |
-9.09e-13 |
-1.71e-13 |
1.84e-12 |
| 45 |
8.96e-13 |
-2.21e-13 |
-1.07e-12 |
2.27e-13 |
-5.68e-14 |
-5.68e-13 |
-2.84e-13 |
-6.52e-13 |
5.54e-13 |
1.71e-12 |
| 41 |
8.01e-13 |
-3.97e-13 |
-8.59e-13 |
-2.84e-13 |
0.00e+00 |
-1.71e-13 |
-4.62e-13 |
-6.12e-13 |
3.56e-13 |
1.48e-12 |
| 1021 |
9.04e-13 |
4.58e-13 |
-3.01e-12 |
-1.48e-12 |
5.68e-13 |
-7.39e-13 |
4.50e-13 |
-1.82e-12 |
9.06e-14 |
3.71e-12 |
| 1015 |
1.19e-12 |
-9.78e-14 |
-6.96e-13 |
3.41e-13 |
-5.68e-14 |
1.14e-13 |
-2.27e-13 |
-9.09e-13 |
1.13e-13 |
1.67e-12 |
| 50 |
4.88e-13 |
-1.28e-13 |
-1.21e-12 |
-3.98e-13 |
1.14e-13 |
-5.68e-13 |
-5.68e-13 |
-4.90e-13 |
-2.27e-13 |
1.49e-12 |
| 46 |
6.22e-13 |
2.26e-14 |
-5.87e-13 |
-2.84e-13 |
3.41e-13 |
0.00e+00 |
4.54e-13 |
9.59e-14 |
-2.27e-13 |
1.05e-12 |
| 1031 |
2.32e-12 |
-6.90e-13 |
-1.63e-12 |
-2.27e-13 |
-6.82e-13 |
9.09e-13 |
4.55e-13 |
-1.82e-12 |
-2.27e-13 |
3.57e-12 |
| 1037 |
2.08e-12 |
-2.71e-13 |
-1.70e-12 |
4.55e-13 |
-3.41e-13 |
0.00e+00 |
-3.98e-13 |
-1.82e-12 |
-1.14e-13 |
3.30e-12 |
.. code:: ipython3
# mode, eigr, freq, rad, eids, nids # initial
# nids, eids, eigr, freq, rad, mode # final
cht.swaplevel(0,4).swaplevel(1,5).swaplevel(2,5).swaplevel(4, 5)
.. raw:: html
|
|
|
|
|
Item |
omax |
omid |
omin |
oxx |
oyy |
ozz |
txy |
txz |
tyz |
von_mises |
| ElementID |
NodeID |
Freq |
Radians |
Eigenvalue |
Mode |
|
|
|
|
|
|
|
|
|
|
| 3684 |
0 |
8.36 |
52.52 |
2758.15 |
1 |
1.48e-12 |
1.02e-12 |
-3.38e-12 |
1.22e-12 |
-3.35e-12 |
1.25e-12 |
-3.27e-13 |
-2.27e-13 |
2.84e-14 |
4.64e-12 |
| 55 |
8.36 |
52.52 |
2758.15 |
1 |
4.81e-12 |
1.92e-13 |
-3.57e-13 |
4.53e-12 |
-2.42e-13 |
3.55e-13 |
-6.54e-13 |
-9.30e-13 |
2.20e-15 |
4.92e-12 |
| 51 |
8.36 |
52.52 |
2758.15 |
1 |
2.32e-12 |
1.49e-13 |
-1.41e-12 |
-1.39e-12 |
2.32e-12 |
1.35e-13 |
-1.30e-13 |
-1.46e-13 |
7.51e-15 |
3.25e-12 |
| 778 |
8.36 |
52.52 |
2758.15 |
1 |
-1.38e-12 |
-3.27e-12 |
-6.12e-12 |
-6.08e-12 |
-1.38e-12 |
-3.31e-12 |
-5.81e-14 |
-3.41e-13 |
-1.97e-14 |
4.14e-12 |
| 758 |
8.36 |
52.52 |
2758.15 |
1 |
5.79e-12 |
4.11e-12 |
7.57e-14 |
5.68e-12 |
1.14e-13 |
4.18e-12 |
-4.55e-13 |
-3.41e-13 |
-3.91e-14 |
5.09e-12 |
| 60 |
8.36 |
52.52 |
2758.15 |
1 |
2.88e-12 |
1.71e-12 |
-4.27e-12 |
2.63e-12 |
1.90e-12 |
-4.21e-12 |
-4.26e-13 |
-6.34e-13 |
8.53e-14 |
6.64e-12 |
| 56 |
8.36 |
52.52 |
2758.15 |
1 |
1.66e-12 |
-1.65e-12 |
-5.92e-12 |
-5.87e-12 |
1.65e-12 |
-1.69e-12 |
-3.07e-13 |
-4.22e-13 |
8.53e-14 |
6.59e-12 |
| 880 |
8.36 |
52.52 |
2758.15 |
1 |
2.63e-12 |
2.11e-12 |
-4.74e-12 |
-4.72e-12 |
2.10e-12 |
2.61e-12 |
-3.41e-13 |
0.00e+00 |
8.53e-14 |
7.12e-12 |
| 952 |
8.36 |
52.52 |
2758.15 |
1 |
-8.35e-15 |
-1.79e-12 |
-3.00e-12 |
-1.73e-12 |
-1.14e-13 |
-2.96e-12 |
-4.26e-13 |
2.27e-13 |
5.68e-14 |
2.61e-12 |
| 3685 |
0 |
8.36 |
52.52 |
2758.15 |
1 |
5.11e-13 |
1.44e-13 |
-5.41e-13 |
4.97e-13 |
1.56e-13 |
-5.40e-13 |
6.75e-14 |
-2.84e-14 |
1.42e-14 |
9.25e-13 |
| 45 |
8.36 |
52.52 |
2758.15 |
1 |
8.09e-13 |
-5.47e-13 |
-8.09e-13 |
6.79e-13 |
-7.89e-13 |
-4.37e-13 |
6.39e-14 |
-4.02e-13 |
5.15e-14 |
1.50e-12 |
| 41 |
8.36 |
52.52 |
2758.15 |
1 |
7.67e-13 |
-1.49e-13 |
-4.37e-13 |
-1.49e-13 |
7.21e-13 |
-3.91e-13 |
1.92e-13 |
1.14e-13 |
5.33e-14 |
1.09e-12 |
| 1021 |
8.36 |
52.52 |
2758.15 |
1 |
7.75e-13 |
1.86e-13 |
-5.38e-13 |
1.56e-13 |
1.60e-13 |
1.07e-13 |
1.94e-13 |
-6.25e-13 |
5.47e-14 |
1.14e-12 |
| 1015 |
8.36 |
52.52 |
2758.15 |
1 |
8.67e-13 |
1.56e-13 |
-6.65e-13 |
2.98e-13 |
1.53e-13 |
-9.24e-14 |
2.84e-14 |
-7.39e-13 |
4.51e-14 |
1.33e-12 |
| 50 |
8.36 |
52.52 |
2758.15 |
1 |
9.64e-13 |
7.11e-13 |
-6.57e-14 |
-3.91e-14 |
7.11e-13 |
9.38e-13 |
-4.26e-14 |
-1.57e-13 |
1.42e-14 |
9.29e-13 |
| 46 |
8.36 |
52.52 |
2758.15 |
1 |
2.26e-12 |
7.91e-13 |
7.55e-14 |
2.25e-12 |
7.96e-13 |
7.82e-14 |
8.37e-14 |
-7.01e-14 |
1.42e-14 |
1.93e-12 |
| 1031 |
8.36 |
52.52 |
2758.15 |
1 |
-8.72e-13 |
-1.24e-12 |
-1.87e-12 |
-1.68e-12 |
-8.81e-13 |
-1.42e-12 |
8.53e-14 |
-2.84e-13 |
4.26e-14 |
8.75e-13 |
| 1037 |
8.36 |
52.52 |
2758.15 |
1 |
-7.47e-15 |
-1.15e-13 |
-1.00e-12 |
-9.95e-14 |
-1.14e-13 |
-9.09e-13 |
-7.11e-15 |
-2.84e-13 |
2.84e-14 |
9.43e-13 |
| 3684 |
0 |
9.51 |
59.74 |
3568.63 |
2 |
2.22e-12 |
-1.06e-13 |
-2.23e-12 |
-3.41e-13 |
-2.27e-13 |
4.55e-13 |
1.82e-12 |
1.14e-12 |
3.98e-13 |
3.85e-12 |
| 55 |
9.51 |
59.74 |
3568.63 |
2 |
3.64e-12 |
9.55e-13 |
-1.33e-12 |
2.33e-12 |
-5.68e-14 |
9.95e-13 |
1.82e-12 |
4.26e-13 |
1.12e-12 |
4.31e-12 |
| 51 |
9.51 |
59.74 |
3568.63 |
2 |
7.48e-13 |
-3.94e-13 |
-1.46e-12 |
-3.41e-13 |
5.68e-14 |
-8.24e-13 |
1.57e-13 |
3.85e-13 |
9.24e-13 |
1.91e-12 |
| 778 |
9.51 |
59.74 |
3568.63 |
2 |
1.24e-12 |
-5.76e-13 |
-2.37e-12 |
-2.27e-12 |
7.96e-13 |
-2.27e-13 |
1.25e-13 |
4.55e-13 |
7.73e-13 |
3.13e-12 |
| 758 |
9.51 |
59.74 |
3568.63 |
2 |
1.03e-12 |
-1.04e-12 |
-3.57e-12 |
-5.68e-13 |
-2.33e-12 |
-6.82e-13 |
1.82e-12 |
4.55e-13 |
9.08e-13 |
3.99e-12 |
| 60 |
9.51 |
59.74 |
3568.63 |
2 |
1.02e-12 |
-2.20e-12 |
-2.85e-12 |
-1.48e-12 |
-3.41e-13 |
-2.22e-12 |
1.82e-12 |
2.64e-13 |
1.14e-13 |
3.59e-12 |
| 56 |
9.51 |
59.74 |
3568.63 |
2 |
5.04e-13 |
-3.52e-13 |
-2.37e-12 |
-1.82e-12 |
-7.96e-13 |
3.98e-13 |
-9.10e-13 |
-3.23e-13 |
1.14e-13 |
2.55e-12 |
| 880 |
9.51 |
59.74 |
3568.63 |
2 |
1.79e-12 |
6.09e-13 |
-2.51e-12 |
1.25e-12 |
-2.27e-12 |
9.09e-13 |
-9.09e-13 |
-4.55e-13 |
3.41e-13 |
3.85e-12 |
| 952 |
9.51 |
59.74 |
3568.63 |
2 |
1.30e-12 |
1.93e-13 |
-2.63e-12 |
-9.09e-13 |
-6.82e-13 |
4.55e-13 |
1.82e-12 |
4.55e-13 |
2.27e-13 |
3.51e-12 |
| 3685 |
0 |
9.51 |
59.74 |
3568.63 |
2 |
1.18e-12 |
-3.91e-15 |
-9.47e-13 |
-1.14e-13 |
1.14e-13 |
2.27e-13 |
4.97e-13 |
-9.09e-13 |
-1.71e-13 |
1.84e-12 |
| 45 |
9.51 |
59.74 |
3568.63 |
2 |
8.96e-13 |
-2.21e-13 |
-1.07e-12 |
2.27e-13 |
-5.68e-14 |
-5.68e-13 |
-2.84e-13 |
-6.52e-13 |
5.54e-13 |
1.71e-12 |
| 41 |
9.51 |
59.74 |
3568.63 |
2 |
8.01e-13 |
-3.97e-13 |
-8.59e-13 |
-2.84e-13 |
0.00e+00 |
-1.71e-13 |
-4.62e-13 |
-6.12e-13 |
3.56e-13 |
1.48e-12 |
| 1021 |
9.51 |
59.74 |
3568.63 |
2 |
9.04e-13 |
4.58e-13 |
-3.01e-12 |
-1.48e-12 |
5.68e-13 |
-7.39e-13 |
4.50e-13 |
-1.82e-12 |
9.06e-14 |
3.71e-12 |
| 1015 |
9.51 |
59.74 |
3568.63 |
2 |
1.19e-12 |
-9.78e-14 |
-6.96e-13 |
3.41e-13 |
-5.68e-14 |
1.14e-13 |
-2.27e-13 |
-9.09e-13 |
1.13e-13 |
1.67e-12 |
| 50 |
9.51 |
59.74 |
3568.63 |
2 |
4.88e-13 |
-1.28e-13 |
-1.21e-12 |
-3.98e-13 |
1.14e-13 |
-5.68e-13 |
-5.68e-13 |
-4.90e-13 |
-2.27e-13 |
1.49e-12 |
| 46 |
9.51 |
59.74 |
3568.63 |
2 |
6.22e-13 |
2.26e-14 |
-5.87e-13 |
-2.84e-13 |
3.41e-13 |
0.00e+00 |
4.54e-13 |
9.59e-14 |
-2.27e-13 |
1.05e-12 |
| 1031 |
9.51 |
59.74 |
3568.63 |
2 |
2.32e-12 |
-6.90e-13 |
-1.63e-12 |
-2.27e-13 |
-6.82e-13 |
9.09e-13 |
4.55e-13 |
-1.82e-12 |
-2.27e-13 |
3.57e-12 |
| 1037 |
9.51 |
59.74 |
3568.63 |
2 |
2.08e-12 |
-2.71e-13 |
-1.70e-12 |
4.55e-13 |
-3.41e-13 |
0.00e+00 |
-3.98e-13 |
-1.82e-12 |
-1.14e-13 |
3.30e-12 |
Alternatively I can do that by first using reset_index to move all the
index columns into data, and then using set_index to define the order of
columns I want as my index:
.. code:: ipython3
cht.reset_index().set_index(['ElementID','NodeID','Mode','Freq']).sort_index()
.. raw:: html
|
|
|
Item |
Eigenvalue |
Radians |
omax |
omid |
omin |
oxx |
oyy |
ozz |
txy |
txz |
tyz |
von_mises |
| ElementID |
NodeID |
Mode |
Freq |
|
|
|
|
|
|
|
|
|
|
|
|
| 3684 |
0 |
1 |
8.36 |
2758.15 |
52.52 |
1.48e-12 |
1.02e-12 |
-3.38e-12 |
1.22e-12 |
-3.35e-12 |
1.25e-12 |
-3.27e-13 |
-2.27e-13 |
2.84e-14 |
4.64e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
2.22e-12 |
-1.06e-13 |
-2.23e-12 |
-3.41e-13 |
-2.27e-13 |
4.55e-13 |
1.82e-12 |
1.14e-12 |
3.98e-13 |
3.85e-12 |
| 51 |
1 |
8.36 |
2758.15 |
52.52 |
2.32e-12 |
1.49e-13 |
-1.41e-12 |
-1.39e-12 |
2.32e-12 |
1.35e-13 |
-1.30e-13 |
-1.46e-13 |
7.51e-15 |
3.25e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
7.48e-13 |
-3.94e-13 |
-1.46e-12 |
-3.41e-13 |
5.68e-14 |
-8.24e-13 |
1.57e-13 |
3.85e-13 |
9.24e-13 |
1.91e-12 |
| 55 |
1 |
8.36 |
2758.15 |
52.52 |
4.81e-12 |
1.92e-13 |
-3.57e-13 |
4.53e-12 |
-2.42e-13 |
3.55e-13 |
-6.54e-13 |
-9.30e-13 |
2.20e-15 |
4.92e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
3.64e-12 |
9.55e-13 |
-1.33e-12 |
2.33e-12 |
-5.68e-14 |
9.95e-13 |
1.82e-12 |
4.26e-13 |
1.12e-12 |
4.31e-12 |
| 56 |
1 |
8.36 |
2758.15 |
52.52 |
1.66e-12 |
-1.65e-12 |
-5.92e-12 |
-5.87e-12 |
1.65e-12 |
-1.69e-12 |
-3.07e-13 |
-4.22e-13 |
8.53e-14 |
6.59e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
5.04e-13 |
-3.52e-13 |
-2.37e-12 |
-1.82e-12 |
-7.96e-13 |
3.98e-13 |
-9.10e-13 |
-3.23e-13 |
1.14e-13 |
2.55e-12 |
| 60 |
1 |
8.36 |
2758.15 |
52.52 |
2.88e-12 |
1.71e-12 |
-4.27e-12 |
2.63e-12 |
1.90e-12 |
-4.21e-12 |
-4.26e-13 |
-6.34e-13 |
8.53e-14 |
6.64e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
1.02e-12 |
-2.20e-12 |
-2.85e-12 |
-1.48e-12 |
-3.41e-13 |
-2.22e-12 |
1.82e-12 |
2.64e-13 |
1.14e-13 |
3.59e-12 |
| 758 |
1 |
8.36 |
2758.15 |
52.52 |
5.79e-12 |
4.11e-12 |
7.57e-14 |
5.68e-12 |
1.14e-13 |
4.18e-12 |
-4.55e-13 |
-3.41e-13 |
-3.91e-14 |
5.09e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
1.03e-12 |
-1.04e-12 |
-3.57e-12 |
-5.68e-13 |
-2.33e-12 |
-6.82e-13 |
1.82e-12 |
4.55e-13 |
9.08e-13 |
3.99e-12 |
| 778 |
1 |
8.36 |
2758.15 |
52.52 |
-1.38e-12 |
-3.27e-12 |
-6.12e-12 |
-6.08e-12 |
-1.38e-12 |
-3.31e-12 |
-5.81e-14 |
-3.41e-13 |
-1.97e-14 |
4.14e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
1.24e-12 |
-5.76e-13 |
-2.37e-12 |
-2.27e-12 |
7.96e-13 |
-2.27e-13 |
1.25e-13 |
4.55e-13 |
7.73e-13 |
3.13e-12 |
| 880 |
1 |
8.36 |
2758.15 |
52.52 |
2.63e-12 |
2.11e-12 |
-4.74e-12 |
-4.72e-12 |
2.10e-12 |
2.61e-12 |
-3.41e-13 |
0.00e+00 |
8.53e-14 |
7.12e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
1.79e-12 |
6.09e-13 |
-2.51e-12 |
1.25e-12 |
-2.27e-12 |
9.09e-13 |
-9.09e-13 |
-4.55e-13 |
3.41e-13 |
3.85e-12 |
| 952 |
1 |
8.36 |
2758.15 |
52.52 |
-8.35e-15 |
-1.79e-12 |
-3.00e-12 |
-1.73e-12 |
-1.14e-13 |
-2.96e-12 |
-4.26e-13 |
2.27e-13 |
5.68e-14 |
2.61e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
1.30e-12 |
1.93e-13 |
-2.63e-12 |
-9.09e-13 |
-6.82e-13 |
4.55e-13 |
1.82e-12 |
4.55e-13 |
2.27e-13 |
3.51e-12 |
| 3685 |
0 |
1 |
8.36 |
2758.15 |
52.52 |
5.11e-13 |
1.44e-13 |
-5.41e-13 |
4.97e-13 |
1.56e-13 |
-5.40e-13 |
6.75e-14 |
-2.84e-14 |
1.42e-14 |
9.25e-13 |
| 2 |
9.51 |
3568.63 |
59.74 |
1.18e-12 |
-3.91e-15 |
-9.47e-13 |
-1.14e-13 |
1.14e-13 |
2.27e-13 |
4.97e-13 |
-9.09e-13 |
-1.71e-13 |
1.84e-12 |
| 41 |
1 |
8.36 |
2758.15 |
52.52 |
7.67e-13 |
-1.49e-13 |
-4.37e-13 |
-1.49e-13 |
7.21e-13 |
-3.91e-13 |
1.92e-13 |
1.14e-13 |
5.33e-14 |
1.09e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
8.01e-13 |
-3.97e-13 |
-8.59e-13 |
-2.84e-13 |
0.00e+00 |
-1.71e-13 |
-4.62e-13 |
-6.12e-13 |
3.56e-13 |
1.48e-12 |
| 45 |
1 |
8.36 |
2758.15 |
52.52 |
8.09e-13 |
-5.47e-13 |
-8.09e-13 |
6.79e-13 |
-7.89e-13 |
-4.37e-13 |
6.39e-14 |
-4.02e-13 |
5.15e-14 |
1.50e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
8.96e-13 |
-2.21e-13 |
-1.07e-12 |
2.27e-13 |
-5.68e-14 |
-5.68e-13 |
-2.84e-13 |
-6.52e-13 |
5.54e-13 |
1.71e-12 |
| 46 |
1 |
8.36 |
2758.15 |
52.52 |
2.26e-12 |
7.91e-13 |
7.55e-14 |
2.25e-12 |
7.96e-13 |
7.82e-14 |
8.37e-14 |
-7.01e-14 |
1.42e-14 |
1.93e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
6.22e-13 |
2.26e-14 |
-5.87e-13 |
-2.84e-13 |
3.41e-13 |
0.00e+00 |
4.54e-13 |
9.59e-14 |
-2.27e-13 |
1.05e-12 |
| 50 |
1 |
8.36 |
2758.15 |
52.52 |
9.64e-13 |
7.11e-13 |
-6.57e-14 |
-3.91e-14 |
7.11e-13 |
9.38e-13 |
-4.26e-14 |
-1.57e-13 |
1.42e-14 |
9.29e-13 |
| 2 |
9.51 |
3568.63 |
59.74 |
4.88e-13 |
-1.28e-13 |
-1.21e-12 |
-3.98e-13 |
1.14e-13 |
-5.68e-13 |
-5.68e-13 |
-4.90e-13 |
-2.27e-13 |
1.49e-12 |
| 1015 |
1 |
8.36 |
2758.15 |
52.52 |
8.67e-13 |
1.56e-13 |
-6.65e-13 |
2.98e-13 |
1.53e-13 |
-9.24e-14 |
2.84e-14 |
-7.39e-13 |
4.51e-14 |
1.33e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
1.19e-12 |
-9.78e-14 |
-6.96e-13 |
3.41e-13 |
-5.68e-14 |
1.14e-13 |
-2.27e-13 |
-9.09e-13 |
1.13e-13 |
1.67e-12 |
| 1021 |
1 |
8.36 |
2758.15 |
52.52 |
7.75e-13 |
1.86e-13 |
-5.38e-13 |
1.56e-13 |
1.60e-13 |
1.07e-13 |
1.94e-13 |
-6.25e-13 |
5.47e-14 |
1.14e-12 |
| 2 |
9.51 |
3568.63 |
59.74 |
9.04e-13 |
4.58e-13 |
-3.01e-12 |
-1.48e-12 |
5.68e-13 |
-7.39e-13 |
4.50e-13 |
-1.82e-12 |
9.06e-14 |
3.71e-12 |
| 1031 |
1 |
8.36 |
2758.15 |
52.52 |
-8.72e-13 |
-1.24e-12 |
-1.87e-12 |
-1.68e-12 |
-8.81e-13 |
-1.42e-12 |
8.53e-14 |
-2.84e-13 |
4.26e-14 |
8.75e-13 |
| 2 |
9.51 |
3568.63 |
59.74 |
2.32e-12 |
-6.90e-13 |
-1.63e-12 |
-2.27e-13 |
-6.82e-13 |
9.09e-13 |
4.55e-13 |
-1.82e-12 |
-2.27e-13 |
3.57e-12 |
| 1037 |
1 |
8.36 |
2758.15 |
52.52 |
-7.47e-15 |
-1.15e-13 |
-1.00e-12 |
-9.95e-14 |
-1.14e-13 |
-9.09e-13 |
-7.11e-15 |
-2.84e-13 |
2.84e-14 |
9.43e-13 |
| 2 |
9.51 |
3568.63 |
59.74 |
2.08e-12 |
-2.71e-13 |
-1.70e-12 |
4.55e-13 |
-3.41e-13 |
0.00e+00 |
-3.98e-13 |
-1.82e-12 |
-1.14e-13 |
3.30e-12 |