iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
AI & Data

資料三十-那些最基本的資料處理與分析技能系列 第 11

【Day11-映射】淺談python的map與pandas的map用法

複習一下國中數學應該都有學過函數映射的概念,就是根據特定的規則將輸入轉換成輸出
在做資料處理的過程中,這就很適合用來協助我們處理一些資料的清理與替換
所以今天就簡單來講解一下python中map的一些用法

一般的map

在python中一般map的用法為

map(function, iterable, ...)

其中

  • function:為用來處理映射規則的函數,常使用匿名函數lambda
  • iterable:為可以迭代的元素,例如一個list
例子1:使用map將list元素都轉成平方
A = [1,2,3,4,5]
list(map(lambda x: x**2, A))

輸出

[1, 4, 9, 16, 25]
例子2:使用map將list元素都轉成小寫
B = ["Apple", "Book"]
list(map(lambda x: x.lower(), B))

輸出

['apple', 'book']

pandas中的map

在pandas.series中,除了可以使用原本map傳入一個函數的做法,也可以傳入一個dict來處理需要將對應資料替換掉的情況(但要注意,如果原始資料不在這個dict的key當中的話,輸出會是None哦)

例子3:使用map函數處理series
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")

例子4:使用dict處理series
import pandas as pd
df = pd.read_csv("iris.csv")

df["class"].map({'Iris-setosa':0, 'Iris-versicolor':1, 'Iris-virginica':2})


上一篇
【Day10-去重】使用python優雅的一行解決list或DataFrame資料去重問題
下一篇
【Day12-排序】淺談python中的資料排序——sort, sorted, natsort, pd.sort_values
系列文
資料三十-那些最基本的資料處理與分析技能30

尚未有邦友留言

立即登入留言