我想将一个函数(len
)应用于向量中的每个元素。在R我可以用sapply(cities,char)
轻松做到这一点。在没有写入循环的情况下,Python中是否有这样的替代方案?Python vs. R:将一个函数应用于向量中的每个元素
5
A
回答
4
语法是map(function, list)
。
实施例:
map(len, [ [ 1,2,3], [4,5,6] ])
输出:
[ 3, 3 ]
0
可以使用功能图谱,其接收应用到可迭代的函数。文档映射图:
>>> map(lambda x: x[1]*2 + 3, [[1,2,3], [1,4]])
[7, 11]
2
将R sapply()
可以与被替换:here
例如,罐传递一个anonymus功能(使用lambda)通过这种方式来应用到每个元件到列表列表理解,但足够公平的列表理解并不严格避免编写的循环。
除了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()
上面的代码结果与平方值一个新的列表在称输入的:
[1, 4, 9, 16, 25]
在这里,我通过了向量的一系列构造pd.Series(vector)
并应用anonymus功能apply(lambda x: x**2)
。输出是熊猫系列,如果需要,可以将其转换回列表tolist()
。 Pandas系列具有许多功能,是许多数据处理和分析任务的理想选择。
相关问题
- 1. 将函数应用于向量中的每个元素组合
- 2. Rust是否有办法将一个函数/方法应用于数组或向量中的每个元素?
- 3. 应用一个函数将VALA数组的每个元素
- 4. 对一个向量的两个元素应用一个函数
- 5. 将函数应用于postgres中表格中的每个元素
- 6. 如何将一个函数应用于一个deque的每个元素?
- 7. 如何检查C++ stl向量中存在的值并将函数应用于向量的每个元素?
- 8. Python:将函数列表应用于列表中的每个元素
- 9. 将函数一次性应用于所有元素而不是每个元素?
- 10. 如何用一个向量中的元素替换R中另一个元素的向量元素?
- 11. 将传递函数应用于矩阵的每个元素
- 12. R:将函数应用于以向量元素为参数的矩阵
- 13. 将函数应用于R数据框中的每个值
- 14. 从向量B的每个元素中减去向量A的每个元素
- 15. 将函数应用于Python中的列表中的一个元素
- 16. 如何将一个函数应用于一组元素
- 17. 一个R函数代表()在Python(复制列表/向量的元素)
- 18. 比较大于在一个向量中的元素r
- 19. 将函数应用到数组中的每个元素
- 20. 将函数应用于R数据框的每个分位数
- 21. 向量的每个元素添加到另一个向量
- 22. 是否有一个函数将函数应用于元组的每个成员?
- 23. 如何为R中向量中的每个元素创建一个闭包?
- 24. 将下一个向量的每个元素除以
- 25. 用类似于matlab/R的向量切片python数组元素
- 26. 如何应用一个函数到每一个元素
- 27. 写一个for循环为R的向量中的每个元素添加1
- 28. 如何将列表中的每个元素应用于方案中的函数?
- 29. 将函数应用到范围中的每个元素
- 30. 如何通过对R中的每个元素应用函数来将应急表映射到另一个表?
https://docs.python.org/3/library/functions.html#map – jakevdp
什么列表理解? '[len(el)for el in vector]'。它比'地图'更具Pythonic。 –
但是'sapply'是一个循环! – Parfait