Ошибка Lightkurve - ошибка атрибута: объект «NoneType» не имеет атрибута «Sap_Flux» - PullRequest
0 голосов
/ 21 июня 2019

У меня есть файл Excel с базовой информацией о 50 001 объектах Кеплера. Я пытаюсь прочитать столбец идентификаторов Кеплера с пандами, а затем поместить эти идентификаторы в поиск Lightkurve, где я могу создать комбинированный световой ход всех четвертей наблюдательных данных. Вот мой код:

import os
import pylab as plt
import numpy as np
from astropy.table import Table, Column
from astroquery.simbad import Simbad
import pandas as pd 
from astroquery.mast import Observations
import lightkurve as lk
from lightkurve import search_lightcurvefile 
from astropy.io import fits 


data = pd.read_excel ('C:\keplerDataSet.xlsx') 
df = pd.DataFrame(data, columns= ['Kepler_ID']) 
idlist = df[1:2]

for obj in idlist:
   lc = search_lightcurvefile('obj', quarter=1).download().SAP_FLUX.normalize()
   for q in range(2,17):
        lc = lc.append(search_lightcurvefile('obj',quarter=q).download().SAP_FLUX.normalize())

Ошибка, которую он мне дает, такова: Ошибка атрибута: у объекта «NoneType» нет атрибута «Sap_Flux»

Я студент и я довольно новичок в программировании, поэтому любая конструктивная критика приветствуется.

Ответы [ 2 ]

0 голосов
/ 24 июня 2019

Проблема заключалась в том, что вам нужно было указать миссию, потому что этот поиск также вызывает K2 и TESS.

Так что вместо

download = search_lightcurvefile('obj', quarter = 1).download()

вам нужно

download = search_lightcurvefile('obj', mission = ['Kepler'], quarter = 1).download()
0 голосов
/ 21 июня 2019

Похоже, что объект, возвращаемый при вызове download, не имеет атрибута SAP_FLUX.

Если вы попробуете следующее, вы сможете увидеть строковое представление загрузки (которое обычно включает имя типа, которое полезно при поиске) и какие атрибуты оно имеет в большом списке Python.

for obj in idlist:
   download = search_lightcurvefile('obj', quarter=1).download()
   print(download, dir(download))
   download.SAP_FLUX.normalize()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...