複習一下國中數學應該都有學過函數映射的概念,就是根據特定的規則將輸入轉換成輸出
在做資料處理的過程中,這就很適合用來協助我們處理一些資料的清理與替換
所以今天就簡單來講解一下python中map的一些用法
在python中一般map的用法為
map(function, iterable, ...)
其中
function
:為用來處理映射規則的函數,常使用匿名函數lambdaiterable
:為可以迭代的元素,例如一個listA = [1,2,3,4,5]
list(map(lambda x: x**2, A))
輸出
[1, 4, 9, 16, 25]
B = ["Apple", "Book"]
list(map(lambda x: x.lower(), B))
輸出
['apple', 'book']
在pandas.series中,除了可以使用原本map傳入一個函數的做法,也可以傳入一個dict
來處理需要將對應資料替換掉的情況(但要注意,如果原始資料不在這個dict的key當中的話,輸出會是None哦)
import pandas as pd
df = pd.DataFrame({"Name": ["Alice", "Bob", "Bob", "Bob", "Carol"],
"Score": [100, 95, 97, 97, 95]})
df["Score"].map(lambda x: "Perfect" if x == 100 else "Good")
import pandas as pd
df = pd.read_csv("iris.csv")
df["class"].map({'Iris-setosa':0, 'Iris-versicolor':1, 'Iris-virginica':2})