Я хочу применить функцию (len
) к каждому элементу в векторе. В R я могу сделать это с sapply(cities,char)
. Есть ли такая альтернатива в Python БЕЗ написания цикла?Python vs. R: применить функцию к каждому элементу в векторе
ответ
Синтаксис: map(function, list)
.
Пример:
map(len, [ [ 1,2,3], [4,5,6] ])
Выход:
[ 3, 3 ]
Вы можете использовать карту функции, которая принимает функцию, чтобы применить к итератору. Документация для отображения карты: here
Например, вы канистры передать функцию анонимному (с помощью лямбда), чтобы применить к каждому элементу в списке, таким образом:
>>> map(lambda x: x[1]*2 + 3, [[1,2,3], [1,4]])
[7, 11]
R sapply()
может быть заменен но достаточно справедливое понимание списка не позволяет строго избегать , написанного цикла .
В дополнение к map()
вы должны взглянуть на Pandas, которая обеспечивает альтернативы Python для нескольких функциональных возможностей, которые используют люди в R.
import pandas as pd
vector = [1,2,3,4,5]
square_vector = pd.Series(vector).apply(lambda x: x**2)
print square_vector.tolist()
Приведенные выше результаты кода в новый список с квадратными значениями из Imput:
[1, 4, 9, 16, 25]
Здесь я прошел вектор для конструктора серии pd.Series(vector)
и применить функцию Анонимус apply(lambda x: x**2)
. Выход представляет собой серию панд, которая может быть преобразована обратно в список при желании tolist()
. Серия Pandas имеет множество функциональных возможностей и идеально подходит для многих задач управления данными и анализа.
- 1. R, применяя функцию к каждому элементу в векторе
- 2. применяя функцию к каждому элементу в векторе в NumPy
- 3. Применить функцию передачи к каждому элементу матрицы
- 4. Как применить функцию к каждому элементу data.frame?
- 5. Применить функцию к каждому элементу рекурсии списка
- 6. применить функцию к каждому элементу столбца индивидуально
- 7. Как применить функцию к каждому элементу deque?
- 8. R: Применяя функцию к каждому элементу dataframe
- 9. Имеет ли Rust способ применить функцию/метод к каждому элементу в массиве или векторе?
- 10. Python - применить условную функцию (пересечение) к каждому элементу списка
- 11. применить функцию к каждому элементу в столбце таблицы в postgres
- 12. применить операцию к каждому элементу в матрице столбцов в R
- 13. kdb array map - как применить функцию к каждому элементу массива?
- 14. Как применить функцию к каждому элементу в матрице
- 15. Javascript применить функцию к каждому элементу в массиве объектов
- 16. Применить функцию к каждому элементу массива в инструкции SELECT
- 17. Применить функцию к каждому элементу матрицы в Matlab
- 18. Как применить функцию к каждому элементу столбца массива в Postgres?
- 19. Применить собственную функцию к каждому элементу без петель в Matlab
- 20. Python: применить список функций к каждому элементу в списке
- 21. R: Применить substr к каждому элементу столбца dataframe
- 22. Применить цвет фона к каждому элементу
- 23. Применить функцию к каждому элементу вектора, избегая использование для цикла
- 24. функция языка, чтобы применить функцию к каждому элементу параметров пакета
- 25. Применить карту, используя другую функцию к каждому элементу списка
- 26. Как я могу применить функцию к каждому элементу вложенного списка?
- 27. Применить операцию к каждому элементу в наборе в Python
- 28. Как применить функцию к каждому элементу/ячейке data.frame?
- 29. Применить различные CSS к каждому элементу?
- 30. Применить анимацию CSS к каждому элементу массива
https://docs.python.org/3/library/functions.html#map – jakevdp
Как насчет понимания списка? '[len (el) для el в векторе]'. Это больше Pythonic, чем 'map'. –
Но 'sapply' - это цикл! – Parfait