Я пытаюсь написать процедуру ориентации для 3-осевого акселерометра. Часть, на которую я застрял, есть, у меня есть один диктофон, указав всю мою ось, после чтения «оси z», я хочу удалить эту ось из списка Availableiable_axis. Вот часть моего кода, которая демонстрирует, что я пытаюсь сделать.Удалить элемент массива на основе значения словаря в python
import operator
Readings1 = { 0:{'x':0.1, 'y':-1, 'z':-0.1}, 1:{'x':.4, 'y':-.1, 'z':-0.1},
2:{'x':-0.4, 'y':-.8, 'z':-0.1}, 3:{'x':0.1, 'y':-.1, 'z':-0.6},
4:{'x':0.1, 'y':-.2, 'z':0.4}}
SetupValue = {'Axis':{'x-axis':'x','y-axis':'y','z-axis':'z'}}
Available_axis = [SetupValue['Axis']['x-axis'], SetupValue['Axis']['y-axis'], SetupValue['Axis']['z-axis']]
axes = Readings1[0]
print axes
for key in axes:
axes[key] = abs(axes[key])
print axes
print (max(axes.iteritems(), key = operator.itemgetter(1))[0])
Available_axis.pop(max(axes.iteritems(), key = operator.itemgetter(1))[0],0)
Любая помощь будет оценена по достоинству.
И почему/как не работает код? –
'Available_axis.pop() print Available_axis' ->' (x, y) '... или вы также хотите удалить ось z из ваших чтений? Кстати, я не думаю, что словарь является хорошим хранилищем для этих данных. Словари (Hashtables) хороши для быстрого поиска необязательных ключей, но у вас есть последовательные данные. Список или массив numpy будут достаточно хороши. Если вам нужны имена столбцов, посмотрите на панды. – roadrunner66
'Available_axis' - это список, а не dict. pop() для списка принимает только один необязательный аргумент, значение индекса. –