Importing numpy and pandas

import pandas as pd
import numpy as np

Defining some conversion functions

Each function convert one type: double, float, short, ...

def convert_to_nparray_double(strarray):
    '''convert a string representing an array of double into a numpy array of type float64.
    '''
    if strarray.startswith('[') and strarray.endswith(']'):
        nparray = np.array(eval(strarray), dtype=np.float64)
    else:
        raise ValueError("the string array is not a list")
    return nparray
def convert_to_nparray_float(strarray):
    '''convert a string representing an array of float into a numpy array of type float32.
    '''
    if strarray.startswith('[') and strarray.endswith(']'):
        nparray = np.array(eval(strarray), dtype=np.float32)
    else:
        raise ValueError("the string array is not a list")
    return nparray
def convert_to_nparray_short(strarray):
    '''convert a string representing an array of short into a numpy array of type int16.
    '''
    if strarray.startswith('[') and strarray.endswith(']'):
        nparray = np.array(eval(strarray), dtype=np.int16)
    else:
        raise ValueError("the string array is not a list")
    return nparray
def convert_to_nparray_int(strarray):
    '''convert a string representing an array of integer into a numpy array of type int32.
    '''
    if strarray.startswith('[') and strarray.endswith(']'):
        nparray = np.array(eval(strarray), dtype=np.int32)
    else:
        raise ValueError("the string array is not a list")
    return nparray
def convert_to_nparray_long(strarray):
    '''convert a string representing an array of long into a numpy array of type int64.
    '''
    if strarray.startswith('[') and strarray.endswith(']'):
        nparray = np.array(eval(strarray), dtype=np.int64)
    else:
        raise ValueError("the string array is not a list")
    return nparray
def convert_to_nparray_bool(strarray):
    '''convert a string representing an array of boolean into a numpy array of type bool.
    '''
    if strarray.startswith('[') and strarray.endswith(']'):
        strarray = strarray.replace('f', 'False').replace('t', 'True')
        nparray = np.array(eval(strarray), dtype=bool)
    else:
        raise ValueError("the string array is not a list")
    return nparray

Using panda to read the csv

Pandas csv reader can take converter functions to convert on the fly reading values to python objects, like numpy arrays.

# The converter_map
converter_map = {
    'transit_id': convert_to_nparray_long,       # convert string array to array of long
    'g_transit_time': convert_to_nparray_double, # convert string array to array of double
    'g_transit_flux': convert_to_nparray_double, # ...
    'g_transit_flux_error': convert_to_nparray_float,
    'g_transit_flux_over_error': convert_to_nparray_float,
    'g_transit_mag': convert_to_nparray_double,
    'g_transit_n_obs': convert_to_nparray_short,
    'variability_flag_g_reject': convert_to_nparray_bool,
}

df = pd.read_csv("epoch_photometry.csv", converters=converter_map)
df.head()
source_id n_transits transit_id g_transit_time g_transit_flux g_transit_flux_error g_transit_flux_over_error g_transit_mag g_transit_n_obs variability_flag_g_reject
0 10655814178816 16 [23446114172990364, 34116674451158251, 3412076... [1820.8582445068785, 2013.8238611752959, 2013.... [88.4427029996188, 111.9332126821821, 107.3854... [4.666398, 3.1378613, 7.597603, 3.7428467, 5.8... [18.953098, 35.671818, 14.134124, 32.038048, 2... [20.820711849343382, 20.564969444648, 20.61000... [9, 9, 9, 9, 9, 8, 8, 9, 9, 8, 9, 9, 9, 8, 9, 7] [False, False, False, False, False, False, Fal...
1 10892037246720 23 [17285472453571529, 17295213305426420, 2344611... [1709.4456508186668, 1709.62182353116, 1820.85... [510.11090224436253, 521.7867820329403, 485.57... [6.3332405, 9.256909, 8.044719, 4.5411777, 9.3... [80.545006, 56.36728, 60.35989, 109.49676, 51.... [18.91820535329736, 18.893634183800046, 18.971... [9, 9, 9, 8, 8, 9, 9, 8, 9, 8, 8, 9, 9, 9, 8, ... [False, False, True, False, True, False, False...
2 14263587225600 23 [17285472096929389, 23446116765069633, 2345585... [1709.4456205615986, 1820.8582908278997, 1821.... [30529.60769302229, 31110.189119397397, 31165.... [35.25876, 28.173544, 32.615753, 45.521774, 65... [865.87305, 1104.2341, 955.53546, 676.2278, 46... [14.475563807983537, 14.45511023905391, 14.453... [8, 9, 9, 7, 9, 9, 9, 8, 9, 5, 8, 8, 8, 9, 9, ... [False, False, False, False, False, False, Fal...
3 15839839588736 22 [17285469832524031, 23455856580240824, 2345994... [1709.4456024237186, 1821.0344221555822, 1821.... [398.50438424340757, 397.533832471081, 515.814... [7.094384, 6.6043735, 13.68516, 6.842927, 3.70... [56.171806, 60.192513, 37.691517, 61.007347, 1... [19.186284107667255, 19.18893162809486, 18.906... [9, 9, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, ... [False, False, False, False, False, False, Fal...
4 19275813399552 24 [17281388054323561, 17285480347395139, 2344203... [1709.3718123703636, 1709.4457973260903, 1820.... [150.45883194663082, 146.56588288365595, 161.6... [8.457523, 7.1828094, 5.0132504, 42.87326, 6.7... [17.78994, 20.405092, 32.253815, 4.323178, 22.... [20.24382265218426, 20.272284645926923, 20.165... [9, 8, 9, 9, 9, 9, 5, 9, 9, 9, 8, 9, 9, 9, 9, ... [False, False, False, False, False, False, Fal...

Futher tips

# now you can access each value as usual.
df['transit_id'][8][0:10]
array([17281375268770552, 17285467545589179, 23455862064423384,
       23459954326153121, 24575690588304868, 24579782891468143,
       26219912980604604, 34116667037336254, 35461501065159748,
       37064556328564301])
# you can also get it back to astropy table
from astropy.table import Table
table = Table.from_pandas(df)
table

Table length=5

solution_idsource_idn_transitstransit_idg_transit_timeg_transit_fluxg_transit_flux_errorg_transit_flux_over_errorg_transit_magg_transit_n_obsvariability_flag_g_reject
int64int64int64objectobjectobjectobjectobjectobjectobjectobject
3753166538664875641065581417881616[23446114172990364 34116674451158251 34120766734792046 37064561981297838 37074302784136557 44166836144588237 45566799985943100 46958511299260633 46962603569767842 54882924246995834 54887016538231279 56503847820891835 57830886072431104 66552874274932640 67686401786008481 67690494068966827][1820.85824451 2013.82386118 2013.89787425 2067.13979376 2067.31596658 2195.58116831 2220.89649509 2246.06245023 2246.13645017 2389.371816 2389.44583672 2418.68814984 2442.68906699 2600.4175281 2620.9149683 2620.98896099][ 88.442703 111.93321268 107.38546026 119.91350576 125.68656495 115.56347347 114.66917181 117.8680567 111.16039001 105.13957314 112.16786016 104.4884401 107.43448576 146.37881738 122.72002458 134.16915171][ 4.666398 3.1378613 7.597603 3.7428467 5.863589 4.979218 2.6967413 4.1816688 7.5993147 4.700958 4.967313 5.384889 2.4506385 43.655083 4.2073574 3.4216743][18.953098 35.671818 14.134124 32.038048 21.435091 23.20916 42.521385 28.186848 14.627686 22.365564 22.581196 19.404009 43.839386 3.353076 29.16796 39.21155 ][20.82071185 20.56496944 20.61000316 20.49019662 20.43914472 20.5303154 20.53875018 20.50887656 20.57249171 20.63295134 20.56269578 20.63969625 20.60950759 20.27367128 20.46507828 20.36823518][9 9 9 9 9 8 8 9 9 8 9 9 9 8 9 7][False False False False False False False False False False False False False False False False]
3753166538664875641089203724672023[17285472453571529 17295213305426420 23446114215063972 23455855034241801 24575684863213921 34116673540470139 34120765824759296 35461507659526600 37064561031419049 37074301834257765 44166836110115797 44170928391108045 45566800935690793 46962603740816306 54882923308651464 54887015599755839 56499755505820804 57830885123207701 57840625982009968 64919333517923324 66552875224680360 67686402107396551 67690494387209169][1709.44565082 1709.62182353 1820.85824697 1821.03440518 1841.2841718 2013.82384283 2013.89785592 2038.14668106 2067.13977509 2067.31596901 2195.58116948 2195.65519806 2220.89648595 2246.13645472 2389.37181118 2389.44581784 2418.61416186 2442.68904857 2442.865221 2570.87866018 2600.41757505 2620.91497537 2620.98894792][510.11090224 521.78678203 485.57836432 497.24422758 480.14808417 567.64242358 590.99291521 585.51199074 579.77022023 590.39353233 567.86750777 567.79194183 579.66956491 560.80106507 586.44995532 584.79757578 590.69603205 590.30561833 605.00772189 626.61397118 643.98228977 642.29483106 642.29523443][ 6.3332405 9.256909 8.044719 4.5411777 9.380304 6.0996585 7.171867 7.377506 4.4854646 7.907909 4.099751 4.341208 2.1346767 9.733053 5.657311 8.12197 5.9643545 3.3834713 10.742715 6.6513414 4.3818746 6.51571 6.4311748][ 80.545006 56.36728 60.35989 109.49676 51.186832 93.06135 82.404335 79.36449 129.25533 74.658615 138.5127 130.79123 271.5491 57.618206 103.66231 72.00194 99.03772 174.46745 56.317955 94.208664 146.96503 98.57634 99.87215 ][18.91820535 18.89363418 18.97171855 18.94594249 18.98392887 18.80217975 18.75841118 18.76852738 18.77922711 18.75951289 18.80174932 18.80189381 18.77941562 18.81534479 18.76678947 18.76985296 18.75895673 18.75967458 18.73296457 18.69486668 18.66518206 18.6680308 18.66803012][9 9 9 8 8 9 9 8 9 8 8 9 9 9 8 9 8 9 9 9 7 9 8][False False True False True False False False False False False False False False False False False False False False False False False]
3753166538664875641426358722560023[17285472096929389 23446116765069633 23455857585427124 24575685541906043 26219908448655224 34116672525185184 34120764803838247 35461505134686873 37064560751585095 37074301570801698 44166838636135174 44170930918438146 45566801325762404 46962606293312520 54882922616727185 54887014904816905 56499752956470501 57830884715054268 64919336034505486 66552875484460299 66556967768748551 67686404600124152 67690496881771774][1709.44562056 1820.85829083 1821.034435 1841.28416863 1871.01627325 2013.82382745 2013.89784044 2038.14663941 2067.13977443 2067.31583505 2195.58121234 2195.65524797 2220.89646798 2246.1364966 2389.37179511 2389.44580874 2418.61409197 2442.68901733 2570.87870233 2600.41757551 2600.49157528 2620.91501625 2620.98898883][30529.60769302 31110.1891194 31165.50863531 30783.08828922 30583.69952729 30660.55045901 30696.11834029 30981.79862069 30977.42402079 30986.09981776 30973.04967039 30971.35508728 30770.07813497 30839.19766099 30858.24662719 30897.14264305 30872.82089735 31018.7618448 30884.01050261 30869.89507618 30860.42467904 30694.88979781 30664.66878597][35.25876 28.173544 32.615753 45.521774 65.085236 32.275276 34.60352 42.10249 86.032196 66.444466 20.308508 49.102005 49.663292 45.225277 31.402191 29.461452 35.59198 32.15967 25.204748 38.472546 32.190327 14.824086 24.147446][ 865.87305 1104.2341 955.53546 676.2278 469.90225 949.9703 887.0808 735.8662 360.0678 466.34583 1525.1268 630.7554 619.5739 681.9018 982.67816 1048.7312 867.4095 964.5236 1225.3251 802.38763 958.6863 2070.6094 1269.8928 ][14.47556381 14.45511024 14.45318132 14.4665864 14.47364182 14.470917 14.46965822 14.4596003 14.45975362 14.45944958 14.45990694 14.45996635 14.46704537 14.46460919 14.46393875 14.46257107 14.46342608 14.45830572 14.46303264 14.46352898 14.46386212 14.46970167 14.47077117][8 9 9 7 9 9 9 8 9 5 8 8 8 9 9 9 9 8 9 9 9 9 8][False False False False False False False False False False False False False False False False False False False False False False False]
3753166538664875641583983958873622[17285469832524031 23455856580240824 23459948833051541 24575687636435828 26219907472429716 34116670654002235 34120762936980676 35461506351822656 37064558452576693 37074299264852584 44166837422806591 44170929712050264 45566803574301920 46962605590640339 54882920530317758 54887012820242487 56499753982366172 57830882475820871 64919334769534550 66552877792244422 67686404306920857 67690496581097375][1709.44560242 1821.03442216 1821.10842276 1841.28422477 1871.01626167 2013.82378752 2013.89780058 2038.14665484 2067.13972709 2067.31590009 2195.58124543 2195.65522497 2220.8965361 2246.13648955 2389.37175097 2389.44576463 2418.61415108 2442.68897172 2570.87868565 2600.41762336 2620.91501606 2620.98897911][398.50438424 397.53383247 515.81442146 417.46884701 432.76279207 479.1263755 479.60327962 510.22844089 577.74931235 514.28011707 590.01622171 620.92068138 618.94974408 598.12342437 626.82324778 669.14177052 568.58613019 583.22739737 560.90309189 555.21966499 541.42378873 557.51527384][ 7.094384 6.6043735 13.68516 6.842927 3.702773 5.091709 7.6767964 4.7162433 78.06524 4.7815266 6.8026824 7.640512 9.125456 5.0957713 43.55893 23.307608 8.264177 7.08644 3.6337783 6.3568 7.399264 9.282362 ][ 56.171806 60.192513 37.691517 61.007347 116.87532 94.09933 62.474403 108.185356 7.400852 107.55563 86.73288 81.2669 67.82672 117.37643 14.390235 28.709158 68.8013 82.30189 154.3581 87.342636 73.17265 60.06179 ][19.18628411 19.18893163 18.90613317 19.13580669 19.09674208 18.98624167 18.98516151 18.91795521 18.78301827 18.90936753 18.76020699 18.70477655 18.7082284 18.74538984 18.69450413 18.62357151 18.80037621 18.77277207 18.81514728 18.82620477 18.85352353 18.82172494][9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 6 8 9 9 9 6][False False False False False False False False True False False False False False False False False False False False False False]
3753166538664875641927581339955224[17281388054323561 17285480347395139 23442032531236258 23446124849451964 24575678464529104 24579770749342278 26210175508214894 34106937370120787 34116678193144439 35471237163128143 37064569261180323 44166847403664413 44170939658311209 46958520820978657 46962613110223038 54882929640096329 56499744880869987 56503837166974598 57826800494458403 57830892790014524 64909604185371040 66556959200564110 67686409726337459 67690502041408433][1709.37181237 1709.44579733 1820.78441086 1820.85841263 1841.28405118 1841.35805118 1870.84025561 2013.6477859 2013.82395849 2038.32268692 2067.13992964 2195.58137171 2195.65537167 2246.06259074 2246.13659104 2389.37192461 2418.61394936 2418.68799133 2442.61520519 2442.68921813 2570.70269364 2600.49138975 2620.9150824 2620.98908373][150.45883195 146.56588288 161.69645131 185.34872891 149.49906959 154.09840733 129.78047707 153.54378084 148.39977148 147.0592042 144.0484738 142.66507941 141.89971771 142.54123978 141.03554481 128.33977797 124.57677795 128.46536909 120.63943121 124.8191586 123.67633855 136.06770382 127.04803637 129.44116093][ 8.457523 7.1828094 5.0132504 42.87326 6.792421 2.8928056 8.925807 4.7576523 3.9390762 2.4283526 3.1447654 2.5184202 2.1724892 3.709562 3.2742999 5.3571243 3.6332874 4.383051 4.7238264 5.718338 4.5642867 3.9278524 4.2591567 3.67242 ][17.78994 20.405092 32.253815 4.323178 22.00969 53.269535 14.539915 32.273014 37.673748 60.559246 45.805794 56.64864 65.31665 38.425354 43.073498 23.956842 34.28762 29.309576 25.538498 21.827873 27.09653 34.641758 29.829388 35.24683 ][20.24382265 20.27228465 20.16561565 20.01739284 20.25077064 20.21787149 20.40434345 20.22178629 20.25878379 20.26863634 20.29109521 20.30157266 20.30741304 20.30251554 20.31404542 20.41646366 20.44877413 20.41540169 20.48364366 20.44666374 20.45665032 20.35297923 20.42744697 20.40718587][9 8 9 9 9 9 5 9 9 9 8 9 9 9 9 8 8 9 9 9 9 9 9 9][False False False False False False False False False False False False False False False False False False False False False False False False]

Search