У меня есть DataFrames dfSide0
и dfSide1
с разным количеством строк, но одинаковыми столбцами:
'distoperator' 'Name' 'camera_row'
0 67.3350 'End of Coil' 'a'
1 1331.4001 'Dent' 'b'
2 130.8350 'Oil' 'a'
3 859.2139 'Black Line' 'f'
То, что я хочу, это:
- Чтобы получить минимум, абсолютное значение всех возможных вычитаний между значениями
dfSide0['distoperator']
и dfSide1['distoperator']
, но только когда условие dfSide0['camera_row'] == dfSide1['camera_row']
имеет значение True.
- Чтобы получить значение
dfSide1['Name']
для каждого из вышеуказанных значений.
Пока мой код:
temp_operator = []
temp_op_defect = []
k = -1
for i in dfSide0['distoperator']:
k = k + 1
j = dfSide0.index[k]
c = min(abs(i - dfSide1['distoperator'][dfSide1['camera_row'] == dfSide0['camera_row'][j]]))
h = dfSide1.index(min(abs(i - dfSide1['distoperator'][dfSide1['camera_row'] == dfSide0['camera_row'][j]])))
s = dfSide1['Name'][h]
temp_operator.append(c)
temp_op_defect.append(s)
, которая выдает следующую ошибку:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-37-e794dd1800c7> in <module>()
6 j = dfSide0.index[k]
7 c = min(abs(i - dfSide1['distoperator'][dfSide1['camera_row'] == dfSide0['camera_row'][j]]))
----> 8 h = dfSide1.index(min(abs(i - dfSide1['distoperator'][dfSide1['camera_row'] == dfSide0['camera_row'][j]])))
9 s = dfSide1['Name'][h]
10 temp_operator.append(c)
TypeError: 'Int64Index' object is not callable
Есть идеи?
Заранее благодарю за ваш вклад.