операция 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]
Надеюсь, вы, ребята, понимаете, что я пытаюсь объяснить здесь