Partage
  • Partager sur Facebook
  • Partager sur Twitter

Afficher les valeurs min/max d'une colonne

    2 mars 2016 à 22:36:34

    Mon code semble fonctionner, le voici :

    #!/usr/bin/python
    # coding: utf-8
     
    from astropy.io import fits
    from astropy.table import Table
    import numpy as np
     
                ##################################
                # Fichier contenant le champ 169 #
                ##################################
     
    filename = '/home/valentin/Desktop/Field169_combined_final_roughcal.fits'
     
    field169 = fits.open(filename)          # Ouverture du fichier à l'aide d'astropy
     
    tbdata = field169[1].data               # Lecture des données fits
    
    
      	    #######################################################
                # Application du tri en fonction de divers paramètres #
                #######################################################
     
    mask1 = tbdata['CHI'] < 1.0 		# Création d'un masque pour la condition CHI
    tbdata_temp1 = tbdata[mask1]
    
    mask2 = tbdata_temp1['PROB'] > 0.01	# Création d'un second masque sur la condition PROB
    tbdata_temp2 = tbdata_temp1[mask2]
    
    mask3 = tbdata_temp2['SHARP'] > -0.7 	# Création d'un 3e masque sur la condition SHARP (1/2)
    tbdata_temp3 = tbdata_temp2[mask3]
    
    mask4 = tbdata_temp3['SHARP'] < 0.7	# Création d'un 4e masque sur la condition SHARP (2/2)
    tbdata_final = tbdata_temp3[mask4]
    
    print tbdata_final			# Affichage de la table après toutes les conditions
    
    hdu = fits.BinTableHDU(data=tbdata_final)
    hdu.writeto('newtable.fits')		# Ecriture du résultat obtenu dans un nouveau fichier fits
    
    
                #################################################
                # Détermination des valeurs extremales du champ #
                #################################################
     
    RA_max = np.max(tbdata['RA'])
    RA_min = np.min(tbdata['RA'])
    print "RA_max vaut :     " + str(RA_max)
    print "RA_min vaut :     " + str(RA_min)
     
    DEC_max = np.max(tbdata['DEC'])
    DEC_min = np.min(tbdata['DEC'])
    print "DEC_max vaut :   " + str(DEC_max)
    print "DEC_min vaut :   " + str(DEC_min)
     
                #########################################
                # Calcul de la valeur centrale du champ #
                #########################################
     
    RA_central = (RA_max + RA_min)/2.
    DEC_central = (DEC_max + DEC_min)/2.
     
    print "RA_central vaut : " + str(RA_central)
    print "DEC_central vaut : " + str(DEC_central)
     
    field169.close()

    Maintenant, il faudra très certainement que je rajoute 2 colonnes à la fin de mon fichier .fits obtenu. Je vais voir comment faire cela mais je pense que cette partie devrait m'aider :) http://docs.astropy.org/en/stable/io/fits/usage/table.html#table-operations

    • Partager sur Facebook
    • Partager sur Twitter
    Rien ne se crée, rien ne se perd, tout se transforme ...
      2 mars 2016 à 22:40:09

      Il suffit de mettre les conditions les unes derrière les autres...

      CHI = tbdata[(tbdata['CHI'] < 1.0) & (-0.7 < tbdata['SHARP'] < 0.7)] 
      

      -
      Edité par Dan737 2 mars 2016 à 22:40:18

      • Partager sur Facebook
      • Partager sur Twitter

      Afficher les valeurs min/max d'une colonne

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown