我想將一個函數(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