Python函数中apply、map、applymap的区别
在Python中,apply
、map
和applymap
是常用的函数,用于对数据进行处理和转换。虽然它们的功能有些相似,但在使用方式和适用范围上有一些区别。
apply函数
apply
函数用于对DataFrame的行或列进行操作。它接受一个函数作为参数,并将该函数应用于DataFrame的每一行或每一列。apply
函数的使用方式如下:
df.apply(func, axis=0)
func
:要应用的函数。axis
:指定应用的方向,0表示按列应用,1表示按行应用。
示例说明1:对DataFrame的每一列求和
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
sum_by_column = df.apply(sum, axis=0)
print(sum_by_column)
输出结果:
A 6
B 15
dtype: int64
示例说明2:对DataFrame的每一行求平均值
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
mean_by_row = df.apply(lambda row: row.mean(), axis=1)
print(mean_by_row)
输出结果:
0 2.5
1 3.5
2 4.5
dtype: float64
map函数
map
函数用于对Series对象中的每个元素应用一个函数。它将函数应用于Series中的每个元素,并返回一个新的Series对象。map
函数的使用方式如下:
s.map(func)
func
:要应用的函数。
示例说明1:对Series中的每个元素进行平方操作
import pandas as pd
s = pd.Series([1, 2, 3])
s_squared = s.map(lambda x: x**2)
print(s_squared)
输出结果:
0 1
1 4
2 9
dtype: int64
示例说明2:将Series中的每个元素转换为字符串
import pandas as pd
s = pd.Series([1, 2, 3])
s_str = s.map(str)
print(s_str)
输出结果:
0 '1'
1 '2'
2 '3'
dtype: object
applymap函数
applymap
函数用于对DataFrame中的每个元素应用一个函数。它将函数应用于DataFrame中的每个元素,并返回一个新的DataFrame对象。applymap
函数的使用方式如下:
df.applymap(func)
func
:要应用的函数。
示例说明1:对DataFrame中的每个元素进行平方操作
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df_squared = df.applymap(lambda x: x**2)
print(df_squared)
输出结果:
A B
0 1 16
1 4 25
2 9 36
示例说明2:将DataFrame中的每个元素转换为字符串
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df_str = df.applymap(str)
print(df_str)
输出结果:
A B
0 '1' '4'
1 '2' '5'
2 '3' '6'
以上是apply
、map
和applymap
函数的区别和示例说明。希望对您有所帮助。如果您有任何进一步的问题,请随时提问。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python函数中apply、map、applymap的区别 - Python技术站