У меня есть массив Numpy, который содержит объекты.
Например, мой массив:
a = np.array({'a':1,'b':2},....,{'a':n,'b':n+1})
Данные не так важны, но мне нужно, чтобы каждый столбец вызывал свойство этого объекта.
Используя мой пример словаря, я хочу вызвать keys()
, чтобы распечатать список ключей в этой строке и вернуть в виде массива:
a[0].keys()
Если бы я использовал Pandas
, я мог бы использовать apply()
для столбца и использовать лямбда-функции для этого.В этом случае я НЕ МОГУ использовать Pandas, так как я могу сделать ту же операцию для одного столбца массива?
Я пытался использовать apply_along_axis
, но лямбда передает arr
как целую, а не одну строкуза раз, поэтому мне нужно в основном использовать for
цикл внутри моей лямбды, чтобы получить мой метод.
np.apply_along_axis(lambda b: b.keys(), axis=0, arr=self.data)
Приведенный выше код не работает!(Я знаю это).
Если есть способ сделать pandas.apply()
с использованием массива numpy?
В этом случае желаемым результатом будет N строк массива со списками [a, б] в них.