операция imarith на непревзойденном фрейме данных

У меня есть некоторые кадры данных:

      flatFile = pd.DataFrame({'file': [' /home/batman/project/flat/flat1.fits', '/home/batman/project/flat/flat10.fits', '/home/batman/project/flat/flat15.fits','/home/batman/project/flat/flat16.fits'], 'filter': ['b', 'r', 'b','b'], 'int_hjd': ['245956', '245957', '245955','245958']})

masterBias = pd.DataFrame({'int_hjd':['245956','245957'],'masterbias':['/home/batman/project/bias/masterBias/zero0','/home/batman/project/bias/masterBias/zero1']})

Мне нужно вычесть flatFile из masterBias, используя операцию imarith.

Как245956и245957есть в столбце, легко вычитается

Я пишу такую ​​​​функцию -

      def biasCorrectFlat():
    mas = []
    for i, j, k in zip(flatFile["int_hjd"], flatFile['file'], flatFile['filter']):
            if i in masterBias["int_hjd"].values:
                mbias_file = masterBias["masterbias"][masterBias["int_hjd"] == i].values[0]
                iraf.imarith(operand1=j, op='-', operand2=mbias_file)
                mas.append([i,j,mbias_file])      
                df =pd.DataFrame(mas, columns=['int_hjd','file',mbias_file])
                print(df)

245955и245958нет там вmasterBias['int_hjd'], так что я должен искатьplus_one value and minus_one value in masterBias['int_hjd']и присвоить это значение в

я менялmbias_fileвbiasCorrectFlat()нравится это для2459565-

      mbias_file = masterBias['masterbias'[masterBias["int_hjd"].assign(key=masterBias['int_hjd']-1).set_inded('key')['int_hjd'] == i].values[0]

Надеюсь, вы, ребята, понимаете, что я пытаюсь объяснить здесь

0 ответов

Другие вопросы по тегам