You are viewing this question as it will appear in the manual grading interface. Return to the normal view when you are done.

Element pl-dataframe: Display of Pandas DataFrames

The following examples below were created to show the capabilities of the pl-dataframe element, which allows formatting and rendering of pandas DataFrames, e.g. pd.DataFrame(), inside the server.py to be displayed on the question page.

Here is an example with a Pandas DataFrame input. Note that if you are setting a value in data["params"] to a DataFrame, you can use PrairieLearn's built-in pl.to_json() function. We've set show-dtype="true" and display-language="python"

  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 842,302 M 17.99 10.38 122.8 1001 0.1184 0.2776 0.3001 0.1471 0.2419 0.07871 1.095 0.9053 8.589 153.4 0.006399 0.04904 0.05373 0.01587 0.03003 0.006193 25.38 17.33 184.6 2019 0.1622 0.6656 0.7119 0.2654 0.4601 0.1189
1 842,517 M 20.57 17.77 132.9 1326 0.08474 0.07864 0.0869 0.07017 0.1812 0.05667 0.5435 0.7339 3.398 74.08 0.005225 0.01308 0.0186 0.0134 0.01389 0.003532 24.99 23.41 158.8 1956 0.1238 0.1866 0.2416 0.186 0.275 0.08902
2 84,300,903 M 19.69 21.25 130 1203 0.1096 0.1599 0.1974 0.1279 0.2069 0.05999 0.7456 0.7869 4.585 94.03 0.00615 0.04006 0.03832 0.02058 0.0225 0.004571 23.57 25.53 152.5 1709 0.1444 0.4245 0.4504 0.243 0.3613 0.08758
3 84,348,301 M 11.42 20.38 77.58 386.1 0.1425 0.2839 0.2414 0.1052 0.2597 0.09744 0.4956 1.156 3.445 27.23 0.00911 0.07458 0.05661 0.01867 0.05963 0.009208 14.91 26.5 98.87 567.7 0.2098 0.8663 0.6869 0.2575 0.6638 0.173
4 84,358,402 M 20.29 14.34 135.1 1297 0.1003 0.1328 0.198 0.1043 0.1809 0.05883 0.7572 0.7813 5.438 94.44 0.01149 0.02461 0.05688 0.01885 0.01756 0.005115 22.54 16.67 152.2 1575 0.1374 0.205 0.4 0.1625 0.2364 0.07678
5 843,786 M 12.45 15.7 82.57 477.1 0.1278 0.17 0.1578 0.08089 0.2087 0.07613 0.3345 0.8902 2.217 27.19 0.00751 0.03345 0.03672 0.01137 0.02165 0.005082 15.47 23.75 103.4 741.6 0.1791 0.5249 0.5355 0.1741 0.3985 0.1244
6 844,359 M 18.25 19.98 119.6 1040 0.09463 0.109 0.1127 0.074 0.1794 0.05742 0.4467 0.7732 3.18 53.91 0.004314 0.01382 0.02254 0.01039 0.01369 0.002179 22.88 27.66 153.2 1606 0.1442 0.2576 0.3784 0.1932 0.3063 0.08368
7 84,458,202 M 13.71 20.83 90.2 577.9 0.1189 0.1645 0.09366 0.05985 0.2196 0.07451 0.5835 1.377 3.856 50.96 0.008805 0.03029 0.02488 0.01448 0.01486 0.005412 17.06 28.14 110.6 897 0.1654 0.3682 0.2678 0.1556 0.3196 0.1151
8 844,981 M 13 21.82 87.5 519.8 0.1273 0.1932 0.1859 0.09353 0.235 0.07389 0.3063 1.002 2.406 24.32 0.005731 0.03502 0.03553 0.01226 0.02143 0.003749 15.49 30.73 106.2 739.3 0.1703 0.5401 0.539 0.206 0.4378 0.1072
9 84,501,001 M 12.46 24.04 83.97 475.9 0.1186 0.2396 0.2273 0.08543 0.203 0.08243 0.2976 1.599 2.039 23.94 0.007149 0.07217 0.07743 0.01432 0.01789 0.01008 15.09 40.68 97.65 711.4 0.1853 1.058 1.105 0.221 0.4366 0.2075
10 845,636 M 16.02 23.24 102.7 797.8 0.08206 0.06669 0.03299 0.03323 0.1528 0.05697 0.3795 1.187 2.466 40.51 0.004029 0.009269 0.01101 0.007591 0.0146 0.003042 19.19 33.88 123.8 1150 0.1181 0.1551 0.1459 0.09975 0.2948 0.08452
11 84,610,002 M 15.78 17.89 103.6 781 0.0971 0.1292 0.09954 0.06606 0.1842 0.06082 0.5058 0.9849 3.564 54.16 0.005771 0.04061 0.02791 0.01282 0.02008 0.004144 20.42 27.28 136.5 1299 0.1396 0.5609 0.3965 0.181 0.3792 0.1048
12 846,226 M 19.17 24.8 132.4 1123 0.0974 0.2458 0.2065 0.1118 0.2397 0.078 0.9555 3.568 11.07 116.2 0.003139 0.08297 0.0889 0.0409 0.04484 0.01284 20.96 29.94 151.7 1332 0.1037 0.3903 0.3639 0.1767 0.3176 0.1023
13 846,381 M 15.85 23.95 103.7 782.7 0.08401 0.1002 0.09938 0.05364 0.1847 0.05338 0.4033 1.078 2.903 36.58 0.009769 0.03126 0.05051 0.01992 0.02981 0.003002 16.84 27.66 112 876.5 0.1131 0.1924 0.2322 0.1119 0.2809 0.06287
14 84,667,401 M 13.73 22.61 93.6 578.3 0.1131 0.2293 0.2128 0.08025 0.2069 0.07682 0.2121 1.169 2.061 19.21 0.006429 0.05936 0.05501 0.01628 0.01961 0.008093 15.03 32.01 108.8 697.7 0.1651 0.7725 0.6943 0.2208 0.3596 0.1431
dtype int64 object float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64

15 rows x 32 columns

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from pandas import DataFrame, Timestamp
from numpy import nan

df = DataFrame(
{   0: {0: 842302, 1: 842517, 2: 84300903, 3: 84348301, 4: 84358402, 5: 843786, 6: 844359, 7: 84458202, 8: 844981, 9: 84501001, 10: 845636, 11: 84610002, 12: 846226, 13: 846381, 14: 84667401},
    1: {0: 'M', 1: 'M', 2: 'M', 3: 'M', 4: 'M', 5: 'M', 6: 'M', 7: 'M', 8: 'M', 9: 'M', 10: 'M', 11: 'M', 12: 'M', 13: 'M', 14: 'M'},
    2: {0: 17.99, 1: 20.57, 2: 19.69, 3: 11.42, 4: 20.29, 5: 12.45, 6: 18.25, 7: 13.71, 8: 13.0, 9: 12.46, 10: 16.02, 11: 15.78, 12: 19.17, 13: 15.85, 14: 13.73},
    3: {0: 10.38, 1: 17.77, 2: 21.25, 3: 20.38, 4: 14.34, 5: 15.7, 6: 19.98, 7: 20.83, 8: 21.82, 9: 24.04, 10: 23.24, 11: 17.89, 12: 24.8, 13: 23.95, 14: 22.61},
    4: {0: 122.8, 1: 132.9, 2: 130.0, 3: 77.58, 4: 135.1, 5: 82.57, 6: 119.6, 7: 90.2, 8: 87.5, 9: 83.97, 10: 102.7, 11: 103.6, 12: 132.4, 13: 103.7, 14: 93.6},
    5: {0: 1001.0, 1: 1326.0, 2: 1203.0, 3: 386.1, 4: 1297.0, 5: 477.1, 6: 1040.0, 7: 577.9, 8: 519.8, 9: 475.9, 10: 797.8, 11: 781.0, 12: 1123.0, 13: 782.7, 14: 578.3},
    6: {0: 0.1184, 1: 0.08474, 2: 0.1096, 3: 0.1425, 4: 0.1003, 5: 0.1278, 6: 0.09463, 7: 0.1189, 8: 0.1273, 9: 0.1186, 10: 0.08206, 11: 0.0971, 12: 0.0974, 13: 0.08401, 14: 0.1131},
    7: {0: 0.2776, 1: 0.07864, 2: 0.1599, 3: 0.2839, 4: 0.1328, 5: 0.17, 6: 0.109, 7: 0.1645, 8: 0.1932, 9: 0.2396, 10: 0.06669, 11: 0.1292, 12: 0.2458, 13: 0.1002, 14: 0.2293},
    8: {0: 0.3001, 1: 0.0869, 2: 0.1974, 3: 0.2414, 4: 0.198, 5: 0.1578, 6: 0.1127, 7: 0.09366, 8: 0.1859, 9: 0.2273, 10: 0.03299, 11: 0.09954, 12: 0.2065, 13: 0.09938, 14: 0.2128},
    9: {0: 0.1471, 1: 0.07017, 2: 0.1279, 3: 0.1052, 4: 0.1043, 5: 0.08089, 6: 0.074, 7: 0.05985, 8: 0.09353, 9: 0.08543, 10: 0.03323, 11: 0.06606, 12: 0.1118, 13: 0.05364, 14: 0.08025},
    10: {0: 0.2419, 1: 0.1812, 2: 0.2069, 3: 0.2597, 4: 0.1809, 5: 0.2087, 6: 0.1794, 7: 0.2196, 8: 0.235, 9: 0.203, 10: 0.1528, 11: 0.1842, 12: 0.2397, 13: 0.1847, 14: 0.2069},
    11: {0: 0.07871, 1: 0.05667, 2: 0.05999, 3: 0.09744, 4: 0.05883, 5: 0.07613, 6: 0.05742, 7: 0.07451, 8: 0.07389, 9: 0.08243, 10: 0.05697, 11: 0.06082, 12: 0.078, 13: 0.05338, 14: 0.07682},
    12: {0: 1.095, 1: 0.5435, 2: 0.7456, 3: 0.4956, 4: 0.7572, 5: 0.3345, 6: 0.4467, 7: 0.5835, 8: 0.3063, 9: 0.2976, 10: 0.3795, 11: 0.5058, 12: 0.9555, 13: 0.4033, 14: 0.2121},
    13: {0: 0.9053, 1: 0.7339, 2: 0.7869, 3: 1.156, 4: 0.7813, 5: 0.8902, 6: 0.7732, 7: 1.377, 8: 1.002, 9: 1.599, 10: 1.187, 11: 0.9849, 12: 3.568, 13: 1.078, 14: 1.169},
    14: {0: 8.589, 1: 3.398, 2: 4.585, 3: 3.445, 4: 5.438, 5: 2.217, 6: 3.18, 7: 3.856, 8: 2.406, 9: 2.039, 10: 2.466, 11: 3.564, 12: 11.07, 13: 2.903, 14: 2.061},
    15: {0: 153.4, 1: 74.08, 2: 94.03, 3: 27.23, 4: 94.44, 5: 27.19, 6: 53.91, 7: 50.96, 8: 24.32, 9: 23.94, 10: 40.51, 11: 54.16, 12: 116.2, 13: 36.58, 14: 19.21},
    16: {0: 0.006399, 1: 0.005225, 2: 0.00615, 3: 0.00911, 4: 0.01149, 5: 0.00751, 6: 0.004314, 7: 0.008805, 8: 0.005731, 9: 0.007149, 10: 0.004029, 11: 0.005771, 12: 0.003139, 13: 0.009769, 14: 0.006429},
    17: {0: 0.04904, 1: 0.01308, 2: 0.04006, 3: 0.07458, 4: 0.02461, 5: 0.03345, 6: 0.01382, 7: 0.03029, 8: 0.03502, 9: 0.07217, 10: 0.009269, 11: 0.04061, 12: 0.08297, 13: 0.03126, 14: 0.05936},
    18: {0: 0.05373, 1: 0.0186, 2: 0.03832, 3: 0.05661, 4: 0.05688, 5: 0.03672, 6: 0.02254, 7: 0.02488, 8: 0.03553, 9: 0.07743, 10: 0.01101, 11: 0.02791, 12: 0.0889, 13: 0.05051, 14: 0.05501},
    19: {0: 0.01587, 1: 0.0134, 2: 0.02058, 3: 0.01867, 4: 0.01885, 5: 0.01137, 6: 0.01039, 7: 0.01448, 8: 0.01226, 9: 0.01432, 10: 0.007591, 11: 0.01282, 12: 0.0409, 13: 0.01992, 14: 0.01628},
    20: {0: 0.03003, 1: 0.01389, 2: 0.0225, 3: 0.05963, 4: 0.01756, 5: 0.02165, 6: 0.01369, 7: 0.01486, 8: 0.02143, 9: 0.01789, 10: 0.0146, 11: 0.02008, 12: 0.04484, 13: 0.02981, 14: 0.01961},
    21: {0: 0.006193, 1: 0.003532, 2: 0.004571, 3: 0.009208, 4: 0.005115, 5: 0.005082, 6: 0.002179, 7: 0.005412, 8: 0.003749, 9: 0.01008, 10: 0.003042, 11: 0.004144, 12: 0.01284, 13: 0.003002, 14: 0.008093},
    22: {0: 25.38, 1: 24.99, 2: 23.57, 3: 14.91, 4: 22.54, 5: 15.47, 6: 22.88, 7: 17.06, 8: 15.49, 9: 15.09, 10: 19.19, 11: 20.42, 12: 20.96, 13: 16.84, 14: 15.03},
    23: {0: 17.33, 1: 23.41, 2: 25.53, 3: 26.5, 4: 16.67, 5: 23.75, 6: 27.66, 7: 28.14, 8: 30.73, 9: 40.68, 10: 33.88, 11: 27.28, 12: 29.94, 13: 27.66, 14: 32.01},
    24: {0: 184.6, 1: 158.8, 2: 152.5, 3: 98.87, 4: 152.2, 5: 103.4, 6: 153.2, 7: 110.6, 8: 106.2, 9: 97.65, 10: 123.8, 11: 136.5, 12: 151.7, 13: 112.0, 14: 108.8},
    25: {0: 2019.0, 1: 1956.0, 2: 1709.0, 3: 567.7, 4: 1575.0, 5: 741.6, 6: 1606.0, 7: 897.0, 8: 739.3, 9: 711.4, 10: 1150.0, 11: 1299.0, 12: 1332.0, 13: 876.5, 14: 697.7},
    26: {0: 0.1622, 1: 0.1238, 2: 0.1444, 3: 0.2098, 4: 0.1374, 5: 0.1791, 6: 0.1442, 7: 0.1654, 8: 0.1703, 9: 0.1853, 10: 0.1181, 11: 0.1396, 12: 0.1037, 13: 0.1131, 14: 0.1651},
    27: {0: 0.6656, 1: 0.1866, 2: 0.4245, 3: 0.8663, 4: 0.205, 5: 0.5249, 6: 0.2576, 7: 0.3682, 8: 0.5401, 9: 1.058, 10: 0.1551, 11: 0.5609, 12: 0.3903, 13: 0.1924, 14: 0.7725},
    28: {0: 0.7119, 1: 0.2416, 2: 0.4504, 3: 0.6869, 4: 0.4, 5: 0.5355, 6: 0.3784, 7: 0.2678, 8: 0.539, 9: 1.105, 10: 0.1459, 11: 0.3965, 12: 0.3639, 13: 0.2322, 14: 0.6943},
    29: {0: 0.2654, 1: 0.186, 2: 0.243, 3: 0.2575, 4: 0.1625, 5: 0.1741, 6: 0.1932, 7: 0.1556, 8: 0.206, 9: 0.221, 10: 0.09975, 11: 0.181, 12: 0.1767, 13: 0.1119, 14: 0.2208},
    30: {0: 0.4601, 1: 0.275, 2: 0.3613, 3: 0.6638, 4: 0.2364, 5: 0.3985, 6: 0.3063, 7: 0.3196, 8: 0.4378, 9: 0.4366, 10: 0.2948, 11: 0.3792, 12: 0.3176, 13: 0.2809, 14: 0.3596},
    31: {0: 0.1189, 1: 0.08902, 2: 0.08758, 3: 0.173, 4: 0.07678, 5: 0.1244, 6: 0.08368, 7: 0.1151, 8: 0.1072, 9: 0.2075, 10: 0.08452, 11: 0.1048, 12: 0.1023, 13: 0.06287, 14: 0.1431}}
)

By default, a Pandas DataFrame will display its index column and header row, as well as a postscript label with the table dimensions. You can toggle these with attributes on the pl-dataframe tag. Here, we've set the following: show-header="false" show-index="false" show-dimensions="false" show-dtype="false" digits="4" display-variable-name="data_frame" presentation-type="f" width="10_000":

842,302 M 17.9900 10.3800 122.8000 1001.0000 0.1184 0.2776 0.3001 0.1471 0.2419 0.0787 1.0950 0.9053 8.5890 153.4000 0.0064 0.0490 0.0537 0.0159 0.0300 0.0062 25.3800 17.3300 184.6000 2019.0000 0.1622 0.6656 0.7119 0.2654 0.4601 0.1189
842,517 M 20.5700 17.7700 132.9000 1326.0000 0.0847 0.0786 0.0869 0.0702 0.1812 0.0567 0.5435 0.7339 3.3980 74.0800 0.0052 0.0131 0.0186 0.0134 0.0139 0.0035 24.9900 23.4100 158.8000 1956.0000 0.1238 0.1866 0.2416 0.1860 0.2750 0.0890
84,300,903 M 19.6900 21.2500 130.0000 1203.0000 0.1096 0.1599 0.1974 0.1279 0.2069 0.0600 0.7456 0.7869 4.5850 94.0300 0.0062 0.0401 0.0383 0.0206 0.0225 0.0046 23.5700 25.5300 152.5000 1709.0000 0.1444 0.4245 0.4504 0.2430 0.3613 0.0876
84,348,301 M 11.4200 20.3800 77.5800 386.1000 0.1425 0.2839 0.2414 0.1052 0.2597 0.0974 0.4956 1.1560 3.4450 27.2300 0.0091 0.0746 0.0566 0.0187 0.0596 0.0092 14.9100 26.5000 98.8700 567.7000 0.2098 0.8663 0.6869 0.2575 0.6638 0.1730
84,358,402 M 20.2900 14.3400 135.1000 1297.0000 0.1003 0.1328 0.1980 0.1043 0.1809 0.0588 0.7572 0.7813 5.4380 94.4400 0.0115 0.0246 0.0569 0.0188 0.0176 0.0051 22.5400 16.6700 152.2000 1575.0000 0.1374 0.2050 0.4000 0.1625 0.2364 0.0768
843,786 M 12.4500 15.7000 82.5700 477.1000 0.1278 0.1700 0.1578 0.0809 0.2087 0.0761 0.3345 0.8902 2.2170 27.1900 0.0075 0.0335 0.0367 0.0114 0.0216 0.0051 15.4700 23.7500 103.4000 741.6000 0.1791 0.5249 0.5355 0.1741 0.3985 0.1244
844,359 M 18.2500 19.9800 119.6000 1040.0000 0.0946 0.1090 0.1127 0.0740 0.1794 0.0574 0.4467 0.7732 3.1800 53.9100 0.0043 0.0138 0.0225 0.0104 0.0137 0.0022 22.8800 27.6600 153.2000 1606.0000 0.1442 0.2576 0.3784 0.1932 0.3063 0.0837
84,458,202 M 13.7100 20.8300 90.2000 577.9000 0.1189 0.1645 0.0937 0.0599 0.2196 0.0745 0.5835 1.3770 3.8560 50.9600 0.0088 0.0303 0.0249 0.0145 0.0149 0.0054 17.0600 28.1400 110.6000 897.0000 0.1654 0.3682 0.2678 0.1556 0.3196 0.1151
844,981 M 13.0000 21.8200 87.5000 519.8000 0.1273 0.1932 0.1859 0.0935 0.2350 0.0739 0.3063 1.0020 2.4060 24.3200 0.0057 0.0350 0.0355 0.0123 0.0214 0.0037 15.4900 30.7300 106.2000 739.3000 0.1703 0.5401 0.5390 0.2060 0.4378 0.1072
84,501,001 M 12.4600 24.0400 83.9700 475.9000 0.1186 0.2396 0.2273 0.0854 0.2030 0.0824 0.2976 1.5990 2.0390 23.9400 0.0071 0.0722 0.0774 0.0143 0.0179 0.0101 15.0900 40.6800 97.6500 711.4000 0.1853 1.0580 1.1050 0.2210 0.4366 0.2075
845,636 M 16.0200 23.2400 102.7000 797.8000 0.0821 0.0667 0.0330 0.0332 0.1528 0.0570 0.3795 1.1870 2.4660 40.5100 0.0040 0.0093 0.0110 0.0076 0.0146 0.0030 19.1900 33.8800 123.8000 1150.0000 0.1181 0.1551 0.1459 0.0998 0.2948 0.0845
84,610,002 M 15.7800 17.8900 103.6000 781.0000 0.0971 0.1292 0.0995 0.0661 0.1842 0.0608 0.5058 0.9849 3.5640 54.1600 0.0058 0.0406 0.0279 0.0128 0.0201 0.0041 20.4200 27.2800 136.5000 1299.0000 0.1396 0.5609 0.3965 0.1810 0.3792 0.1048
846,226 M 19.1700 24.8000 132.4000 1123.0000 0.0974 0.2458 0.2065 0.1118 0.2397 0.0780 0.9555 3.5680 11.0700 116.2000 0.0031 0.0830 0.0889 0.0409 0.0448 0.0128 20.9600 29.9400 151.7000 1332.0000 0.1037 0.3903 0.3639 0.1767 0.3176 0.1023
846,381 M 15.8500 23.9500 103.7000 782.7000 0.0840 0.1002 0.0994 0.0536 0.1847 0.0534 0.4033 1.0780 2.9030 36.5800 0.0098 0.0313 0.0505 0.0199 0.0298 0.0030 16.8400 27.6600 112.0000 876.5000 0.1131 0.1924 0.2322 0.1119 0.2809 0.0629
84,667,401 M 13.7300 22.6100 93.6000 578.3000 0.1131 0.2293 0.2128 0.0803 0.2069 0.0768 0.2121 1.1690 2.0610 19.2100 0.0064 0.0594 0.0550 0.0163 0.0196 0.0081 15.0300 32.0100 108.8000 697.7000 0.1651 0.7725 0.6943 0.2208 0.3596 0.1431
1
2
3
4
5
6
from pandas import DataFrame, Timestamp
from numpy import nan

data_frame = DataFrame(
{0: {0: 842302, 1: 842517, 2: 84300903, 3: 84348301, 4: 84358402, 5: 843786, 6: 844359, 7: 84458202, 8: 844981, 9: 84501001, 10: 845636, 11: 84610002, 12: 846226, 13: 846381, 14: 84667401}, 1: {0: 'M', 1: 'M', 2: 'M', 3: 'M', 4: 'M', 5: 'M', 6: 'M', 7: 'M', 8: 'M', 9: 'M', 10: 'M', 11: 'M', 12: 'M', 13: 'M', 14: 'M'}, 2: {0: 17.99, 1: 20.57, 2: 19.69, 3: 11.42, 4: 20.29, 5: 12.45, 6: 18.25, 7: 13.71, 8: 13.0, 9: 12.46, 10: 16.02, 11: 15.78, 12: 19.17, 13: 15.85, 14: 13.73}, 3: {0: 10.38, 1: 17.77, 2: 21.25, 3: 20.38, 4: 14.34, 5: 15.7, 6: 19.98, 7: 20.83, 8: 21.82, 9: 24.04, 10: 23.24, 11: 17.89, 12: 24.8, 13: 23.95, 14: 22.61}, 4: {0: 122.8, 1: 132.9, 2: 130.0, 3: 77.58, 4: 135.1, 5: 82.57, 6: 119.6, 7: 90.2, 8: 87.5, 9: 83.97, 10: 102.7, 11: 103.6, 12: 132.4, 13: 103.7, 14: 93.6}, 5: {0: 1001.0, 1: 1326.0, 2: 1203.0, 3: 386.1, 4: 1297.0, 5: 477.1, 6: 1040.0, 7: 577.9, 8: 519.8, 9: 475.9, 10: 797.8, 11: 781.0, 12: 1123.0, 13: 782.7, 14: 578.3}, 6: {0: 0.1184, 1: 0.08474, 2: 0.1096, 3: 0.1425, 4: 0.1003, 5: 0.1278, 6: 0.09463, 7: 0.1189, 8: 0.1273, 9: 0.1186, 10: 0.08206, 11: 0.0971, 12: 0.0974, 13: 0.08401, 14: 0.1131}, 7: {0: 0.2776, 1: 0.07864, 2: 0.1599, 3: 0.2839, 4: 0.1328, 5: 0.17, 6: 0.109, 7: 0.1645, 8: 0.1932, 9: 0.2396, 10: 0.06669, 11: 0.1292, 12: 0.2458, 13: 0.1002, 14: 0.2293}, 8: {0: 0.3001, 1: 0.0869, 2: 0.1974, 3: 0.2414, 4: 0.198, 5: 0.1578, 6: 0.1127, 7: 0.09366, 8: 0.1859, 9: 0.2273, 10: 0.03299, 11: 0.09954, 12: 0.2065, 13: 0.09938, 14: 0.2128}, 9: {0: 0.1471, 1: 0.07017, 2: 0.1279, 3: 0.1052, 4: 0.1043, 5: 0.08089, 6: 0.074, 7: 0.05985, 8: 0.09353, 9: 0.08543, 10: 0.03323, 11: 0.06606, 12: 0.1118, 13: 0.05364, 14: 0.08025}, 10: {0: 0.2419, 1: 0.1812, 2: 0.2069, 3: 0.2597, 4: 0.1809, 5: 0.2087, 6: 0.1794, 7: 0.2196, 8: 0.235, 9: 0.203, 10: 0.1528, 11: 0.1842, 12: 0.2397, 13: 0.1847, 14: 0.2069}, 11: {0: 0.07871, 1: 0.05667, 2: 0.05999, 3: 0.09744, 4: 0.05883, 5: 0.07613, 6: 0.05742, 7: 0.07451, 8: 0.07389, 9: 0.08243, 10: 0.05697, 11: 0.06082, 12: 0.078, 13: 0.05338, 14: 0.07682}, 12: {0: 1.095, 1: 0.5435, 2: 0.7456, 3: 0.4956, 4: 0.7572, 5: 0.3345, 6: 0.4467, 7: 0.5835, 8: 0.3063, 9: 0.2976, 10: 0.3795, 11: 0.5058, 12: 0.9555, 13: 0.4033, 14: 0.2121}, 13: {0: 0.9053, 1: 0.7339, 2: 0.7869, 3: 1.156, 4: 0.7813, 5: 0.8902, 6: 0.7732, 7: 1.377, 8: 1.002, 9: 1.599, 10: 1.187, 11: 0.9849, 12: 3.568, 13: 1.078, 14: 1.169}, 14: {0: 8.589, 1: 3.398, 2: 4.585, 3: 3.445, 4: 5.438, 5: 2.217, 6: 3.18, 7: 3.856, 8: 2.406, 9: 2.039, 10: 2.466, 11: 3.564, 12: 11.07, 13: 2.903, 14: 2.061}, 15: {0: 153.4, 1: 74.08, 2: 94.03, 3: 27.23, 4: 94.44, 5: 27.19, 6: 53.91, 7: 50.96, 8: 24.32, 9: 23.94, 10: 40.51, 11: 54.16, 12: 116.2, 13: 36.58, 14: 19.21}, 16: {0: 0.006399, 1: 0.005225, 2: 0.00615, 3: 0.00911, 4: 0.01149, 5: 0.00751, 6: 0.004314, 7: 0.008805, 8: 0.005731, 9: 0.007149, 10: 0.004029, 11: 0.005771, 12: 0.003139, 13: 0.009769, 14: 0.006429}, 17: {0: 0.04904, 1: 0.01308, 2: 0.04006, 3: 0.07458, 4: 0.02461, 5: 0.03345, 6: 0.01382, 7: 0.03029, 8: 0.03502, 9: 0.07217, 10: 0.009269, 11: 0.04061, 12: 0.08297, 13: 0.03126, 14: 0.05936}, 18: {0: 0.05373, 1: 0.0186, 2: 0.03832, 3: 0.05661, 4: 0.05688, 5: 0.03672, 6: 0.02254, 7: 0.02488, 8: 0.03553, 9: 0.07743, 10: 0.01101, 11: 0.02791, 12: 0.0889, 13: 0.05051, 14: 0.05501}, 19: {0: 0.01587, 1: 0.0134, 2: 0.02058, 3: 0.01867, 4: 0.01885, 5: 0.01137, 6: 0.01039, 7: 0.01448, 8: 0.01226, 9: 0.01432, 10: 0.007591, 11: 0.01282, 12: 0.0409, 13: 0.01992, 14: 0.01628}, 20: {0: 0.03003, 1: 0.01389, 2: 0.0225, 3: 0.05963, 4: 0.01756, 5: 0.02165, 6: 0.01369, 7: 0.01486, 8: 0.02143, 9: 0.01789, 10: 0.0146, 11: 0.02008, 12: 0.04484, 13: 0.02981, 14: 0.01961}, 21: {0: 0.006193, 1: 0.003532, 2: 0.004571, 3: 0.009208, 4: 0.005115, 5: 0.005082, 6: 0.002179, 7: 0.005412, 8: 0.003749, 9: 0.01008, 10: 0.003042, 11: 0.004144, 12: 0.01284, 13: 0.003002, 14: 0.008093}, 22: {0: 25.38, 1: 24.99, 2: 23.57, 3: 14.91, 4: 22.54, 5: 15.47, 6: 22.88, 7: 17.06, 8: 15.49, 9: 15.09, 10: 19.19, 11: 20.42, 12: 20.96, 13: 16.84, 14: 15.03}, 23: {0: 17.33, 1: 23.41, 2: 25.53, 3: 26.5, 4: 16.67, 5: 23.75, 6: 27.66, 7: 28.14, 8: 30.73, 9: 40.68, 10: 33.88, 11: 27.28, 12: 29.94, 13: 27.66, 14: 32.01}, 24: {0: 184.6, 1: 158.8, 2: 152.5, 3: 98.87, 4: 152.2, 5: 103.4, 6: 153.2, 7: 110.6, 8: 106.2, 9: 97.65, 10: 123.8, 11: 136.5, 12: 151.7, 13: 112.0, 14: 108.8}, 25: {0: 2019.0, 1: 1956.0, 2: 1709.0, 3: 567.7, 4: 1575.0, 5: 741.6, 6: 1606.0, 7: 897.0, 8: 739.3, 9: 711.4, 10: 1150.0, 11: 1299.0, 12: 1332.0, 13: 876.5, 14: 697.7}, 26: {0: 0.1622, 1: 0.1238, 2: 0.1444, 3: 0.2098, 4: 0.1374, 5: 0.1791, 6: 0.1442, 7: 0.1654, 8: 0.1703, 9: 0.1853, 10: 0.1181, 11: 0.1396, 12: 0.1037, 13: 0.1131, 14: 0.1651}, 27: {0: 0.6656, 1: 0.1866, 2: 0.4245, 3: 0.8663, 4: 0.205, 5: 0.5249, 6: 0.2576, 7: 0.3682, 8: 0.5401, 9: 1.058, 10: 0.1551, 11: 0.5609, 12: 0.3903, 13: 0.1924, 14: 0.7725}, 28: {0: 0.7119, 1: 0.2416, 2: 0.4504, 3: 0.6869, 4: 0.4, 5: 0.5355, 6: 0.3784, 7: 0.2678, 8: 0.539, 9: 1.105, 10: 0.1459, 11: 0.3965, 12: 0.3639, 13: 0.2322, 14: 0.6943}, 29: {0: 0.2654, 1: 0.186, 2: 0.243, 3: 0.2575, 4: 0.1625, 5: 0.1741, 6: 0.1932, 7: 0.1556, 8: 0.206, 9: 0.221, 10: 0.09975, 11: 0.181, 12: 0.1767, 13: 0.1119, 14: 0.2208}, 30: {0: 0.4601, 1: 0.275, 2: 0.3613, 3: 0.6638, 4: 0.2364, 5: 0.3985, 6: 0.3063, 7: 0.3196, 8: 0.4378, 9: 0.4366, 10: 0.2948, 11: 0.3792, 12: 0.3176, 13: 0.2809, 14: 0.3596}, 31: {0: 0.1189, 1: 0.08902, 2: 0.08758, 3: 0.173, 4: 0.07678, 5: 0.1244, 6: 0.08368, 7: 0.1151, 8: 0.1072, 9: 0.2075, 10: 0.08452, 11: 0.1048, 12: 0.1023, 13: 0.06287, 14: 0.1431}}
)

Here's another Pandas DataFrame. This DataFrame has timestamps and uses the new encoding rule in pl.to_json() by setting the keyword argument df_encoding_version=2. We also set show-python="false" to hide the tab showing code for reproducing the dataframe.

  city job age time
0 Champaign Professor 35 2022-10-06 12:00:00
1 Sunnyvale Driver 20 2020-05-09 12:00:00
2 Mountain View Data Scientist nan 2021-12-14 12:00:00
dtype object object float64 datetime64[ns]

3 rows x 4 columns

Here's a Pandas DataFrame with equivalent R types at the bottom, done by setting show-dtype="true" display-language="r". This DataFrame uses the default indexing, and thus these settings will also change the display to being 1-indexed to comply with the convention in R.

  integer numeric logical character numeric-list integer-list character-list logical-list character-string-list POSIXct-POSIXt-timestamp POSIXct-POSIXt-date_range factor ordered-factor
1 1 3.1 False foo 1 1 hello True a 2023-01-02 00:00:00 2023-01-01 00:00:00 a a
2 1 3.1 False foo 1 1 world False b 2023-01-02 00:00:00 2023-01-02 00:00:00 b b
3 1 3.1 False foo 1 1 stat True c 2023-01-02 00:00:00 2023-01-03 00:00:00 c c
dtype integer numeric logical character numeric integer character logical character POSIXct POSIXct character character

3 rows x 13 columns

Correct answer

Here is an example with a Pandas DataFrame input. Note that if you are setting a value in data["params"] to a DataFrame, you can use PrairieLearn's built-in pl.to_json() function. We've set show-dtype="true" and display-language="python"

  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 842,302 M 17.99 10.38 122.8 1001 0.1184 0.2776 0.3001 0.1471 0.2419 0.07871 1.095 0.9053 8.589 153.4 0.006399 0.04904 0.05373 0.01587 0.03003 0.006193 25.38 17.33 184.6 2019 0.1622 0.6656 0.7119 0.2654 0.4601 0.1189
1 842,517 M 20.57 17.77 132.9 1326 0.08474 0.07864 0.0869 0.07017 0.1812 0.05667 0.5435 0.7339 3.398 74.08 0.005225 0.01308 0.0186 0.0134 0.01389 0.003532 24.99 23.41 158.8 1956 0.1238 0.1866 0.2416 0.186 0.275 0.08902
2 84,300,903 M 19.69 21.25 130 1203 0.1096 0.1599 0.1974 0.1279 0.2069 0.05999 0.7456 0.7869 4.585 94.03 0.00615 0.04006 0.03832 0.02058 0.0225 0.004571 23.57 25.53 152.5 1709 0.1444 0.4245 0.4504 0.243 0.3613 0.08758
3 84,348,301 M 11.42 20.38 77.58 386.1 0.1425 0.2839 0.2414 0.1052 0.2597 0.09744 0.4956 1.156 3.445 27.23 0.00911 0.07458 0.05661 0.01867 0.05963 0.009208 14.91 26.5 98.87 567.7 0.2098 0.8663 0.6869 0.2575 0.6638 0.173
4 84,358,402 M 20.29 14.34 135.1 1297 0.1003 0.1328 0.198 0.1043 0.1809 0.05883 0.7572 0.7813 5.438 94.44 0.01149 0.02461 0.05688 0.01885 0.01756 0.005115 22.54 16.67 152.2 1575 0.1374 0.205 0.4 0.1625 0.2364 0.07678
5 843,786 M 12.45 15.7 82.57 477.1 0.1278 0.17 0.1578 0.08089 0.2087 0.07613 0.3345 0.8902 2.217 27.19 0.00751 0.03345 0.03672 0.01137 0.02165 0.005082 15.47 23.75 103.4 741.6 0.1791 0.5249 0.5355 0.1741 0.3985 0.1244
6 844,359 M 18.25 19.98 119.6 1040 0.09463 0.109 0.1127 0.074 0.1794 0.05742 0.4467 0.7732 3.18 53.91 0.004314 0.01382 0.02254 0.01039 0.01369 0.002179 22.88 27.66 153.2 1606 0.1442 0.2576 0.3784 0.1932 0.3063 0.08368
7 84,458,202 M 13.71 20.83 90.2 577.9 0.1189 0.1645 0.09366 0.05985 0.2196 0.07451 0.5835 1.377 3.856 50.96 0.008805 0.03029 0.02488 0.01448 0.01486 0.005412 17.06 28.14 110.6 897 0.1654 0.3682 0.2678 0.1556 0.3196 0.1151
8 844,981 M 13 21.82 87.5 519.8 0.1273 0.1932 0.1859 0.09353 0.235 0.07389 0.3063 1.002 2.406 24.32 0.005731 0.03502 0.03553 0.01226 0.02143 0.003749 15.49 30.73 106.2 739.3 0.1703 0.5401 0.539 0.206 0.4378 0.1072
9 84,501,001 M 12.46 24.04 83.97 475.9 0.1186 0.2396 0.2273 0.08543 0.203 0.08243 0.2976 1.599 2.039 23.94 0.007149 0.07217 0.07743 0.01432 0.01789 0.01008 15.09 40.68 97.65 711.4 0.1853 1.058 1.105 0.221 0.4366 0.2075
10 845,636 M 16.02 23.24 102.7 797.8 0.08206 0.06669 0.03299 0.03323 0.1528 0.05697 0.3795 1.187 2.466 40.51 0.004029 0.009269 0.01101 0.007591 0.0146 0.003042 19.19 33.88 123.8 1150 0.1181 0.1551 0.1459 0.09975 0.2948 0.08452
11 84,610,002 M 15.78 17.89 103.6 781 0.0971 0.1292 0.09954 0.06606 0.1842 0.06082 0.5058 0.9849 3.564 54.16 0.005771 0.04061 0.02791 0.01282 0.02008 0.004144 20.42 27.28 136.5 1299 0.1396 0.5609 0.3965 0.181 0.3792 0.1048
12 846,226 M 19.17 24.8 132.4 1123 0.0974 0.2458 0.2065 0.1118 0.2397 0.078 0.9555 3.568 11.07 116.2 0.003139 0.08297 0.0889 0.0409 0.04484 0.01284 20.96 29.94 151.7 1332 0.1037 0.3903 0.3639 0.1767 0.3176 0.1023
13 846,381 M 15.85 23.95 103.7 782.7 0.08401 0.1002 0.09938 0.05364 0.1847 0.05338 0.4033 1.078 2.903 36.58 0.009769 0.03126 0.05051 0.01992 0.02981 0.003002 16.84 27.66 112 876.5 0.1131 0.1924 0.2322 0.1119 0.2809 0.06287
14 84,667,401 M 13.73 22.61 93.6 578.3 0.1131 0.2293 0.2128 0.08025 0.2069 0.07682 0.2121 1.169 2.061 19.21 0.006429 0.05936 0.05501 0.01628 0.01961 0.008093 15.03 32.01 108.8 697.7 0.1651 0.7725 0.6943 0.2208 0.3596 0.1431
dtype int64 object float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64

15 rows x 32 columns

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from pandas import DataFrame, Timestamp
from numpy import nan

df = DataFrame(
{   0: {0: 842302, 1: 842517, 2: 84300903, 3: 84348301, 4: 84358402, 5: 843786, 6: 844359, 7: 84458202, 8: 844981, 9: 84501001, 10: 845636, 11: 84610002, 12: 846226, 13: 846381, 14: 84667401},
    1: {0: 'M', 1: 'M', 2: 'M', 3: 'M', 4: 'M', 5: 'M', 6: 'M', 7: 'M', 8: 'M', 9: 'M', 10: 'M', 11: 'M', 12: 'M', 13: 'M', 14: 'M'},
    2: {0: 17.99, 1: 20.57, 2: 19.69, 3: 11.42, 4: 20.29, 5: 12.45, 6: 18.25, 7: 13.71, 8: 13.0, 9: 12.46, 10: 16.02, 11: 15.78, 12: 19.17, 13: 15.85, 14: 13.73},
    3: {0: 10.38, 1: 17.77, 2: 21.25, 3: 20.38, 4: 14.34, 5: 15.7, 6: 19.98, 7: 20.83, 8: 21.82, 9: 24.04, 10: 23.24, 11: 17.89, 12: 24.8, 13: 23.95, 14: 22.61},
    4: {0: 122.8, 1: 132.9, 2: 130.0, 3: 77.58, 4: 135.1, 5: 82.57, 6: 119.6, 7: 90.2, 8: 87.5, 9: 83.97, 10: 102.7, 11: 103.6, 12: 132.4, 13: 103.7, 14: 93.6},
    5: {0: 1001.0, 1: 1326.0, 2: 1203.0, 3: 386.1, 4: 1297.0, 5: 477.1, 6: 1040.0, 7: 577.9, 8: 519.8, 9: 475.9, 10: 797.8, 11: 781.0, 12: 1123.0, 13: 782.7, 14: 578.3},
    6: {0: 0.1184, 1: 0.08474, 2: 0.1096, 3: 0.1425, 4: 0.1003, 5: 0.1278, 6: 0.09463, 7: 0.1189, 8: 0.1273, 9: 0.1186, 10: 0.08206, 11: 0.0971, 12: 0.0974, 13: 0.08401, 14: 0.1131},
    7: {0: 0.2776, 1: 0.07864, 2: 0.1599, 3: 0.2839, 4: 0.1328, 5: 0.17, 6: 0.109, 7: 0.1645, 8: 0.1932, 9: 0.2396, 10: 0.06669, 11: 0.1292, 12: 0.2458, 13: 0.1002, 14: 0.2293},
    8: {0: 0.3001, 1: 0.0869, 2: 0.1974, 3: 0.2414, 4: 0.198, 5: 0.1578, 6: 0.1127, 7: 0.09366, 8: 0.1859, 9: 0.2273, 10: 0.03299, 11: 0.09954, 12: 0.2065, 13: 0.09938, 14: 0.2128},
    9: {0: 0.1471, 1: 0.07017, 2: 0.1279, 3: 0.1052, 4: 0.1043, 5: 0.08089, 6: 0.074, 7: 0.05985, 8: 0.09353, 9: 0.08543, 10: 0.03323, 11: 0.06606, 12: 0.1118, 13: 0.05364, 14: 0.08025},
    10: {0: 0.2419, 1: 0.1812, 2: 0.2069, 3: 0.2597, 4: 0.1809, 5: 0.2087, 6: 0.1794, 7: 0.2196, 8: 0.235, 9: 0.203, 10: 0.1528, 11: 0.1842, 12: 0.2397, 13: 0.1847, 14: 0.2069},
    11: {0: 0.07871, 1: 0.05667, 2: 0.05999, 3: 0.09744, 4: 0.05883, 5: 0.07613, 6: 0.05742, 7: 0.07451, 8: 0.07389, 9: 0.08243, 10: 0.05697, 11: 0.06082, 12: 0.078, 13: 0.05338, 14: 0.07682},
    12: {0: 1.095, 1: 0.5435, 2: 0.7456, 3: 0.4956, 4: 0.7572, 5: 0.3345, 6: 0.4467, 7: 0.5835, 8: 0.3063, 9: 0.2976, 10: 0.3795, 11: 0.5058, 12: 0.9555, 13: 0.4033, 14: 0.2121},
    13: {0: 0.9053, 1: 0.7339, 2: 0.7869, 3: 1.156, 4: 0.7813, 5: 0.8902, 6: 0.7732, 7: 1.377, 8: 1.002, 9: 1.599, 10: 1.187, 11: 0.9849, 12: 3.568, 13: 1.078, 14: 1.169},
    14: {0: 8.589, 1: 3.398, 2: 4.585, 3: 3.445, 4: 5.438, 5: 2.217, 6: 3.18, 7: 3.856, 8: 2.406, 9: 2.039, 10: 2.466, 11: 3.564, 12: 11.07, 13: 2.903, 14: 2.061},
    15: {0: 153.4, 1: 74.08, 2: 94.03, 3: 27.23, 4: 94.44, 5: 27.19, 6: 53.91, 7: 50.96, 8: 24.32, 9: 23.94, 10: 40.51, 11: 54.16, 12: 116.2, 13: 36.58, 14: 19.21},
    16: {0: 0.006399, 1: 0.005225, 2: 0.00615, 3: 0.00911, 4: 0.01149, 5: 0.00751, 6: 0.004314, 7: 0.008805, 8: 0.005731, 9: 0.007149, 10: 0.004029, 11: 0.005771, 12: 0.003139, 13: 0.009769, 14: 0.006429},
    17: {0: 0.04904, 1: 0.01308, 2: 0.04006, 3: 0.07458, 4: 0.02461, 5: 0.03345, 6: 0.01382, 7: 0.03029, 8: 0.03502, 9: 0.07217, 10: 0.009269, 11: 0.04061, 12: 0.08297, 13: 0.03126, 14: 0.05936},
    18: {0: 0.05373, 1: 0.0186, 2: 0.03832, 3: 0.05661, 4: 0.05688, 5: 0.03672, 6: 0.02254, 7: 0.02488, 8: 0.03553, 9: 0.07743, 10: 0.01101, 11: 0.02791, 12: 0.0889, 13: 0.05051, 14: 0.05501},
    19: {0: 0.01587, 1: 0.0134, 2: 0.02058, 3: 0.01867, 4: 0.01885, 5: 0.01137, 6: 0.01039, 7: 0.01448, 8: 0.01226, 9: 0.01432, 10: 0.007591, 11: 0.01282, 12: 0.0409, 13: 0.01992, 14: 0.01628},
    20: {0: 0.03003, 1: 0.01389, 2: 0.0225, 3: 0.05963, 4: 0.01756, 5: 0.02165, 6: 0.01369, 7: 0.01486, 8: 0.02143, 9: 0.01789, 10: 0.0146, 11: 0.02008, 12: 0.04484, 13: 0.02981, 14: 0.01961},
    21: {0: 0.006193, 1: 0.003532, 2: 0.004571, 3: 0.009208, 4: 0.005115, 5: 0.005082, 6: 0.002179, 7: 0.005412, 8: 0.003749, 9: 0.01008, 10: 0.003042, 11: 0.004144, 12: 0.01284, 13: 0.003002, 14: 0.008093},
    22: {0: 25.38, 1: 24.99, 2: 23.57, 3: 14.91, 4: 22.54, 5: 15.47, 6: 22.88, 7: 17.06, 8: 15.49, 9: 15.09, 10: 19.19, 11: 20.42, 12: 20.96, 13: 16.84, 14: 15.03},
    23: {0: 17.33, 1: 23.41, 2: 25.53, 3: 26.5, 4: 16.67, 5: 23.75, 6: 27.66, 7: 28.14, 8: 30.73, 9: 40.68, 10: 33.88, 11: 27.28, 12: 29.94, 13: 27.66, 14: 32.01},
    24: {0: 184.6, 1: 158.8, 2: 152.5, 3: 98.87, 4: 152.2, 5: 103.4, 6: 153.2, 7: 110.6, 8: 106.2, 9: 97.65, 10: 123.8, 11: 136.5, 12: 151.7, 13: 112.0, 14: 108.8},
    25: {0: 2019.0, 1: 1956.0, 2: 1709.0, 3: 567.7, 4: 1575.0, 5: 741.6, 6: 1606.0, 7: 897.0, 8: 739.3, 9: 711.4, 10: 1150.0, 11: 1299.0, 12: 1332.0, 13: 876.5, 14: 697.7},
    26: {0: 0.1622, 1: 0.1238, 2: 0.1444, 3: 0.2098, 4: 0.1374, 5: 0.1791, 6: 0.1442, 7: 0.1654, 8: 0.1703, 9: 0.1853, 10: 0.1181, 11: 0.1396, 12: 0.1037, 13: 0.1131, 14: 0.1651},
    27: {0: 0.6656, 1: 0.1866, 2: 0.4245, 3: 0.8663, 4: 0.205, 5: 0.5249, 6: 0.2576, 7: 0.3682, 8: 0.5401, 9: 1.058, 10: 0.1551, 11: 0.5609, 12: 0.3903, 13: 0.1924, 14: 0.7725},
    28: {0: 0.7119, 1: 0.2416, 2: 0.4504, 3: 0.6869, 4: 0.4, 5: 0.5355, 6: 0.3784, 7: 0.2678, 8: 0.539, 9: 1.105, 10: 0.1459, 11: 0.3965, 12: 0.3639, 13: 0.2322, 14: 0.6943},
    29: {0: 0.2654, 1: 0.186, 2: 0.243, 3: 0.2575, 4: 0.1625, 5: 0.1741, 6: 0.1932, 7: 0.1556, 8: 0.206, 9: 0.221, 10: 0.09975, 11: 0.181, 12: 0.1767, 13: 0.1119, 14: 0.2208},
    30: {0: 0.4601, 1: 0.275, 2: 0.3613, 3: 0.6638, 4: 0.2364, 5: 0.3985, 6: 0.3063, 7: 0.3196, 8: 0.4378, 9: 0.4366, 10: 0.2948, 11: 0.3792, 12: 0.3176, 13: 0.2809, 14: 0.3596},
    31: {0: 0.1189, 1: 0.08902, 2: 0.08758, 3: 0.173, 4: 0.07678, 5: 0.1244, 6: 0.08368, 7: 0.1151, 8: 0.1072, 9: 0.2075, 10: 0.08452, 11: 0.1048, 12: 0.1023, 13: 0.06287, 14: 0.1431}}
)

By default, a Pandas DataFrame will display its index column and header row, as well as a postscript label with the table dimensions. You can toggle these with attributes on the pl-dataframe tag. Here, we've set the following: show-header="false" show-index="false" show-dimensions="false" show-dtype="false" digits="4" display-variable-name="data_frame" presentation-type="f" width="10_000":

842,302 M 17.9900 10.3800 122.8000 1001.0000 0.1184 0.2776 0.3001 0.1471 0.2419 0.0787 1.0950 0.9053 8.5890 153.4000 0.0064 0.0490 0.0537 0.0159 0.0300 0.0062 25.3800 17.3300 184.6000 2019.0000 0.1622 0.6656 0.7119 0.2654 0.4601 0.1189
842,517 M 20.5700 17.7700 132.9000 1326.0000 0.0847 0.0786 0.0869 0.0702 0.1812 0.0567 0.5435 0.7339 3.3980 74.0800 0.0052 0.0131 0.0186 0.0134 0.0139 0.0035 24.9900 23.4100 158.8000 1956.0000 0.1238 0.1866 0.2416 0.1860 0.2750 0.0890
84,300,903 M 19.6900 21.2500 130.0000 1203.0000 0.1096 0.1599 0.1974 0.1279 0.2069 0.0600 0.7456 0.7869 4.5850 94.0300 0.0062 0.0401 0.0383 0.0206 0.0225 0.0046 23.5700 25.5300 152.5000 1709.0000 0.1444 0.4245 0.4504 0.2430 0.3613 0.0876
84,348,301 M 11.4200 20.3800 77.5800 386.1000 0.1425 0.2839 0.2414 0.1052 0.2597 0.0974 0.4956 1.1560 3.4450 27.2300 0.0091 0.0746 0.0566 0.0187 0.0596 0.0092 14.9100 26.5000 98.8700 567.7000 0.2098 0.8663 0.6869 0.2575 0.6638 0.1730
84,358,402 M 20.2900 14.3400 135.1000 1297.0000 0.1003 0.1328 0.1980 0.1043 0.1809 0.0588 0.7572 0.7813 5.4380 94.4400 0.0115 0.0246 0.0569 0.0188 0.0176 0.0051 22.5400 16.6700 152.2000 1575.0000 0.1374 0.2050 0.4000 0.1625 0.2364 0.0768
843,786 M 12.4500 15.7000 82.5700 477.1000 0.1278 0.1700 0.1578 0.0809 0.2087 0.0761 0.3345 0.8902 2.2170 27.1900 0.0075 0.0335 0.0367 0.0114 0.0216 0.0051 15.4700 23.7500 103.4000 741.6000 0.1791 0.5249 0.5355 0.1741 0.3985 0.1244
844,359 M 18.2500 19.9800 119.6000 1040.0000 0.0946 0.1090 0.1127 0.0740 0.1794 0.0574 0.4467 0.7732 3.1800 53.9100 0.0043 0.0138 0.0225 0.0104 0.0137 0.0022 22.8800 27.6600 153.2000 1606.0000 0.1442 0.2576 0.3784 0.1932 0.3063 0.0837
84,458,202 M 13.7100 20.8300 90.2000 577.9000 0.1189 0.1645 0.0937 0.0599 0.2196 0.0745 0.5835 1.3770 3.8560 50.9600 0.0088 0.0303 0.0249 0.0145 0.0149 0.0054 17.0600 28.1400 110.6000 897.0000 0.1654 0.3682 0.2678 0.1556 0.3196 0.1151
844,981 M 13.0000 21.8200 87.5000 519.8000 0.1273 0.1932 0.1859 0.0935 0.2350 0.0739 0.3063 1.0020 2.4060 24.3200 0.0057 0.0350 0.0355 0.0123 0.0214 0.0037 15.4900 30.7300 106.2000 739.3000 0.1703 0.5401 0.5390 0.2060 0.4378 0.1072
84,501,001 M 12.4600 24.0400 83.9700 475.9000 0.1186 0.2396 0.2273 0.0854 0.2030 0.0824 0.2976 1.5990 2.0390 23.9400 0.0071 0.0722 0.0774 0.0143 0.0179 0.0101 15.0900 40.6800 97.6500 711.4000 0.1853 1.0580 1.1050 0.2210 0.4366 0.2075
845,636 M 16.0200 23.2400 102.7000 797.8000 0.0821 0.0667 0.0330 0.0332 0.1528 0.0570 0.3795 1.1870 2.4660 40.5100 0.0040 0.0093 0.0110 0.0076 0.0146 0.0030 19.1900 33.8800 123.8000 1150.0000 0.1181 0.1551 0.1459 0.0998 0.2948 0.0845
84,610,002 M 15.7800 17.8900 103.6000 781.0000 0.0971 0.1292 0.0995 0.0661 0.1842 0.0608 0.5058 0.9849 3.5640 54.1600 0.0058 0.0406 0.0279 0.0128 0.0201 0.0041 20.4200 27.2800 136.5000 1299.0000 0.1396 0.5609 0.3965 0.1810 0.3792 0.1048
846,226 M 19.1700 24.8000 132.4000 1123.0000 0.0974 0.2458 0.2065 0.1118 0.2397 0.0780 0.9555 3.5680 11.0700 116.2000 0.0031 0.0830 0.0889 0.0409 0.0448 0.0128 20.9600 29.9400 151.7000 1332.0000 0.1037 0.3903 0.3639 0.1767 0.3176 0.1023
846,381 M 15.8500 23.9500 103.7000 782.7000 0.0840 0.1002 0.0994 0.0536 0.1847 0.0534 0.4033 1.0780 2.9030 36.5800 0.0098 0.0313 0.0505 0.0199 0.0298 0.0030 16.8400 27.6600 112.0000 876.5000 0.1131 0.1924 0.2322 0.1119 0.2809 0.0629
84,667,401 M 13.7300 22.6100 93.6000 578.3000 0.1131 0.2293 0.2128 0.0803 0.2069 0.0768 0.2121 1.1690 2.0610 19.2100 0.0064 0.0594 0.0550 0.0163 0.0196 0.0081 15.0300 32.0100 108.8000 697.7000 0.1651 0.7725 0.6943 0.2208 0.3596 0.1431
1
2
3
4
5
6
from pandas import DataFrame, Timestamp
from numpy import nan

data_frame = DataFrame(
{0: {0: 842302, 1: 842517, 2: 84300903, 3: 84348301, 4: 84358402, 5: 843786, 6: 844359, 7: 84458202, 8: 844981, 9: 84501001, 10: 845636, 11: 84610002, 12: 846226, 13: 846381, 14: 84667401}, 1: {0: 'M', 1: 'M', 2: 'M', 3: 'M', 4: 'M', 5: 'M', 6: 'M', 7: 'M', 8: 'M', 9: 'M', 10: 'M', 11: 'M', 12: 'M', 13: 'M', 14: 'M'}, 2: {0: 17.99, 1: 20.57, 2: 19.69, 3: 11.42, 4: 20.29, 5: 12.45, 6: 18.25, 7: 13.71, 8: 13.0, 9: 12.46, 10: 16.02, 11: 15.78, 12: 19.17, 13: 15.85, 14: 13.73}, 3: {0: 10.38, 1: 17.77, 2: 21.25, 3: 20.38, 4: 14.34, 5: 15.7, 6: 19.98, 7: 20.83, 8: 21.82, 9: 24.04, 10: 23.24, 11: 17.89, 12: 24.8, 13: 23.95, 14: 22.61}, 4: {0: 122.8, 1: 132.9, 2: 130.0, 3: 77.58, 4: 135.1, 5: 82.57, 6: 119.6, 7: 90.2, 8: 87.5, 9: 83.97, 10: 102.7, 11: 103.6, 12: 132.4, 13: 103.7, 14: 93.6}, 5: {0: 1001.0, 1: 1326.0, 2: 1203.0, 3: 386.1, 4: 1297.0, 5: 477.1, 6: 1040.0, 7: 577.9, 8: 519.8, 9: 475.9, 10: 797.8, 11: 781.0, 12: 1123.0, 13: 782.7, 14: 578.3}, 6: {0: 0.1184, 1: 0.08474, 2: 0.1096, 3: 0.1425, 4: 0.1003, 5: 0.1278, 6: 0.09463, 7: 0.1189, 8: 0.1273, 9: 0.1186, 10: 0.08206, 11: 0.0971, 12: 0.0974, 13: 0.08401, 14: 0.1131}, 7: {0: 0.2776, 1: 0.07864, 2: 0.1599, 3: 0.2839, 4: 0.1328, 5: 0.17, 6: 0.109, 7: 0.1645, 8: 0.1932, 9: 0.2396, 10: 0.06669, 11: 0.1292, 12: 0.2458, 13: 0.1002, 14: 0.2293}, 8: {0: 0.3001, 1: 0.0869, 2: 0.1974, 3: 0.2414, 4: 0.198, 5: 0.1578, 6: 0.1127, 7: 0.09366, 8: 0.1859, 9: 0.2273, 10: 0.03299, 11: 0.09954, 12: 0.2065, 13: 0.09938, 14: 0.2128}, 9: {0: 0.1471, 1: 0.07017, 2: 0.1279, 3: 0.1052, 4: 0.1043, 5: 0.08089, 6: 0.074, 7: 0.05985, 8: 0.09353, 9: 0.08543, 10: 0.03323, 11: 0.06606, 12: 0.1118, 13: 0.05364, 14: 0.08025}, 10: {0: 0.2419, 1: 0.1812, 2: 0.2069, 3: 0.2597, 4: 0.1809, 5: 0.2087, 6: 0.1794, 7: 0.2196, 8: 0.235, 9: 0.203, 10: 0.1528, 11: 0.1842, 12: 0.2397, 13: 0.1847, 14: 0.2069}, 11: {0: 0.07871, 1: 0.05667, 2: 0.05999, 3: 0.09744, 4: 0.05883, 5: 0.07613, 6: 0.05742, 7: 0.07451, 8: 0.07389, 9: 0.08243, 10: 0.05697, 11: 0.06082, 12: 0.078, 13: 0.05338, 14: 0.07682}, 12: {0: 1.095, 1: 0.5435, 2: 0.7456, 3: 0.4956, 4: 0.7572, 5: 0.3345, 6: 0.4467, 7: 0.5835, 8: 0.3063, 9: 0.2976, 10: 0.3795, 11: 0.5058, 12: 0.9555, 13: 0.4033, 14: 0.2121}, 13: {0: 0.9053, 1: 0.7339, 2: 0.7869, 3: 1.156, 4: 0.7813, 5: 0.8902, 6: 0.7732, 7: 1.377, 8: 1.002, 9: 1.599, 10: 1.187, 11: 0.9849, 12: 3.568, 13: 1.078, 14: 1.169}, 14: {0: 8.589, 1: 3.398, 2: 4.585, 3: 3.445, 4: 5.438, 5: 2.217, 6: 3.18, 7: 3.856, 8: 2.406, 9: 2.039, 10: 2.466, 11: 3.564, 12: 11.07, 13: 2.903, 14: 2.061}, 15: {0: 153.4, 1: 74.08, 2: 94.03, 3: 27.23, 4: 94.44, 5: 27.19, 6: 53.91, 7: 50.96, 8: 24.32, 9: 23.94, 10: 40.51, 11: 54.16, 12: 116.2, 13: 36.58, 14: 19.21}, 16: {0: 0.006399, 1: 0.005225, 2: 0.00615, 3: 0.00911, 4: 0.01149, 5: 0.00751, 6: 0.004314, 7: 0.008805, 8: 0.005731, 9: 0.007149, 10: 0.004029, 11: 0.005771, 12: 0.003139, 13: 0.009769, 14: 0.006429}, 17: {0: 0.04904, 1: 0.01308, 2: 0.04006, 3: 0.07458, 4: 0.02461, 5: 0.03345, 6: 0.01382, 7: 0.03029, 8: 0.03502, 9: 0.07217, 10: 0.009269, 11: 0.04061, 12: 0.08297, 13: 0.03126, 14: 0.05936}, 18: {0: 0.05373, 1: 0.0186, 2: 0.03832, 3: 0.05661, 4: 0.05688, 5: 0.03672, 6: 0.02254, 7: 0.02488, 8: 0.03553, 9: 0.07743, 10: 0.01101, 11: 0.02791, 12: 0.0889, 13: 0.05051, 14: 0.05501}, 19: {0: 0.01587, 1: 0.0134, 2: 0.02058, 3: 0.01867, 4: 0.01885, 5: 0.01137, 6: 0.01039, 7: 0.01448, 8: 0.01226, 9: 0.01432, 10: 0.007591, 11: 0.01282, 12: 0.0409, 13: 0.01992, 14: 0.01628}, 20: {0: 0.03003, 1: 0.01389, 2: 0.0225, 3: 0.05963, 4: 0.01756, 5: 0.02165, 6: 0.01369, 7: 0.01486, 8: 0.02143, 9: 0.01789, 10: 0.0146, 11: 0.02008, 12: 0.04484, 13: 0.02981, 14: 0.01961}, 21: {0: 0.006193, 1: 0.003532, 2: 0.004571, 3: 0.009208, 4: 0.005115, 5: 0.005082, 6: 0.002179, 7: 0.005412, 8: 0.003749, 9: 0.01008, 10: 0.003042, 11: 0.004144, 12: 0.01284, 13: 0.003002, 14: 0.008093}, 22: {0: 25.38, 1: 24.99, 2: 23.57, 3: 14.91, 4: 22.54, 5: 15.47, 6: 22.88, 7: 17.06, 8: 15.49, 9: 15.09, 10: 19.19, 11: 20.42, 12: 20.96, 13: 16.84, 14: 15.03}, 23: {0: 17.33, 1: 23.41, 2: 25.53, 3: 26.5, 4: 16.67, 5: 23.75, 6: 27.66, 7: 28.14, 8: 30.73, 9: 40.68, 10: 33.88, 11: 27.28, 12: 29.94, 13: 27.66, 14: 32.01}, 24: {0: 184.6, 1: 158.8, 2: 152.5, 3: 98.87, 4: 152.2, 5: 103.4, 6: 153.2, 7: 110.6, 8: 106.2, 9: 97.65, 10: 123.8, 11: 136.5, 12: 151.7, 13: 112.0, 14: 108.8}, 25: {0: 2019.0, 1: 1956.0, 2: 1709.0, 3: 567.7, 4: 1575.0, 5: 741.6, 6: 1606.0, 7: 897.0, 8: 739.3, 9: 711.4, 10: 1150.0, 11: 1299.0, 12: 1332.0, 13: 876.5, 14: 697.7}, 26: {0: 0.1622, 1: 0.1238, 2: 0.1444, 3: 0.2098, 4: 0.1374, 5: 0.1791, 6: 0.1442, 7: 0.1654, 8: 0.1703, 9: 0.1853, 10: 0.1181, 11: 0.1396, 12: 0.1037, 13: 0.1131, 14: 0.1651}, 27: {0: 0.6656, 1: 0.1866, 2: 0.4245, 3: 0.8663, 4: 0.205, 5: 0.5249, 6: 0.2576, 7: 0.3682, 8: 0.5401, 9: 1.058, 10: 0.1551, 11: 0.5609, 12: 0.3903, 13: 0.1924, 14: 0.7725}, 28: {0: 0.7119, 1: 0.2416, 2: 0.4504, 3: 0.6869, 4: 0.4, 5: 0.5355, 6: 0.3784, 7: 0.2678, 8: 0.539, 9: 1.105, 10: 0.1459, 11: 0.3965, 12: 0.3639, 13: 0.2322, 14: 0.6943}, 29: {0: 0.2654, 1: 0.186, 2: 0.243, 3: 0.2575, 4: 0.1625, 5: 0.1741, 6: 0.1932, 7: 0.1556, 8: 0.206, 9: 0.221, 10: 0.09975, 11: 0.181, 12: 0.1767, 13: 0.1119, 14: 0.2208}, 30: {0: 0.4601, 1: 0.275, 2: 0.3613, 3: 0.6638, 4: 0.2364, 5: 0.3985, 6: 0.3063, 7: 0.3196, 8: 0.4378, 9: 0.4366, 10: 0.2948, 11: 0.3792, 12: 0.3176, 13: 0.2809, 14: 0.3596}, 31: {0: 0.1189, 1: 0.08902, 2: 0.08758, 3: 0.173, 4: 0.07678, 5: 0.1244, 6: 0.08368, 7: 0.1151, 8: 0.1072, 9: 0.2075, 10: 0.08452, 11: 0.1048, 12: 0.1023, 13: 0.06287, 14: 0.1431}}
)

Here's another Pandas DataFrame. This DataFrame has timestamps and uses the new encoding rule in pl.to_json() by setting the keyword argument df_encoding_version=2. We also set show-python="false" to hide the tab showing code for reproducing the dataframe.

  city job age time
0 Champaign Professor 35 2022-10-06 12:00:00
1 Sunnyvale Driver 20 2020-05-09 12:00:00
2 Mountain View Data Scientist nan 2021-12-14 12:00:00
dtype object object float64 datetime64[ns]

3 rows x 4 columns

Here's a Pandas DataFrame with equivalent R types at the bottom, done by setting show-dtype="true" display-language="r". This DataFrame uses the default indexing, and thus these settings will also change the display to being 1-indexed to comply with the convention in R.

  integer numeric logical character numeric-list integer-list character-list logical-list character-string-list POSIXct-POSIXt-timestamp POSIXct-POSIXt-date_range factor ordered-factor
1 1 3.1 False foo 1 1 hello True a 2023-01-02 00:00:00 2023-01-01 00:00:00 a a
2 1 3.1 False foo 1 1 world False b 2023-01-02 00:00:00 2023-01-02 00:00:00 b b
3 1 3.1 False foo 1 1 stat True c 2023-01-02 00:00:00 2023-01-03 00:00:00 c c
dtype integer numeric logical character numeric integer character logical character POSIXct POSIXct character character

3 rows x 13 columns

Student view placeholder

In student views this area is used for assessment and score info.
Tools

Staff information

Question

Title:
Element pl-dataframe: Display of Pandas DataFrames

Variant

Started at:
2026-08-04 21:52:44 (CDT)
Duration:
0s
Show/Hide answer
{}
History
dec frac
rad deg