pandas使用函数批量处理数据(map、apply、applymap)
简介
在数据分析中,常常需要对数据进行批量处理,比如对某些列进行函数操作、对整个数据集替换某些值、对某些列进行条件替换等。在pandas中,有三个函数来进行批量处理:map、apply和applymap。
map函数
map函数应用于series类型的数据,可以对数据中每个元素应用相同的函数。map函数操作的每个元素都是原始数据集的一部分。map函数不会修改原始数据,而是返回一个新的数据集。通常使用lambda函数或内置函数对其进行操作。
示例1:
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': ['a', 'b', 'c', 'd']})
print(df)
df['A'] = df['A'].map(lambda x: x ** 2) # 对A列每个元素平方
print(df)
输出:
A B C
0 1 5 a
1 2 6 b
2 3 7 c
3 4 8 d
A B C
0 1 5 a
1 4 6 b
2 9 7 c
3 16 8 d
apply函数
apply函数和map函数很像,但是可以应用于DataFrame类型的对每个元素应用相同的函数。apply函数操作的是整个数据集的一部分。apply函数不会修改原始数据集,而是返回一个新的数据集。通常使用lambda函数或内置函数对其进行操作。
示例2:
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': ['a', 'b', 'c', 'd']})
print(df)
df = df.apply(lambda x: x ** 2) # 对每个元素平方
print(df)
输出:
A B C
0 1 5 a
1 2 6 b
2 3 7 c
3 4 8 d
A B C
0 1 25 a
1 4 36 b
2 9 49 c
3 16 64 d
applymap函数
applymap函数应用于DataFrame类型的每个元素,可以对整个数据集应用相同的函数。applymap函数会修改原始数据集。通常使用lambda函数或内置函数对其进行操作。
示例3:
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': ['a', 'b', 'c', 'd']})
print(df)
df = df.applymap(lambda x: str(x)) # 对每个元素转换成字符串类型
print(df)
输出:
A B C
0 1 5 a
1 2 6 b
2 3 7 c
3 4 8 d
A B C
0 1 5 a
1 2 6 b
2 3 7 c
3 4 8 d
总结
以上是pandas中批量处理数据的三个函数:map、apply和applymap。它们在对数据进行处理时都是比较有用的,可以大大提高我们的操作效率。无论是map、apply还是applymap,都可以根据需求选择使用,熟练掌握后可以帮助我们快速整理和处理数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas使用函数批量处理数据(map、apply、applymap) - Python技术站