目录
apply
语法:DataFrame.apply(func, axis=0, raw=False, result_type=None, args=(), _kwargs_)**
按照DataFrame的轴应用函数,沿每一行或每一列应用,传递给函数的对象是Series。
参数func传入的是函数。参数axis = 0表示沿每一列应用,axis = 1表示沿每一行应用。其他参数详解见pandas.DataFrame.apply — pandas 1.4.2 documentation
#导入包
import numpy as np
import pandas as pd
#构造DataFrame数据
df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])
df
#传入数组函数,返回DataFrame
print(df.apply(np.sqrt))
print()
#传入数组中聚合函数,沿axis=0轴应用,返回Series
print(df.apply(np.sum, axis=0))
print()
#传入数组中聚合函数,沿axis=1轴应用,返回Series
print(df.apply(np.sum, axis=1))
print()
#传入lambda匿名函数
print(df.apply(lambda x: x.max()-x.min()))
print()
#传入自定义函数
def square(x):
return x ** 2
print(df.apply(square))
print()
语法:Series.apply(func, convert_dtype=True, args=(), _kwargs_)**
参数func传入的是函数,应用在每一个元素上。其他参数详解见pandas.Series.apply — pandas 1.4.2 documentation
#构造数据
s = pd.Series([4, 9, 16],index=['A', 'B', 'C'])
s
#传入数组函数
print(s.apply(np.sqrt))
print()
#传入lambda匿名函数
print(s.apply(lambda x: x ** 2))
print()
#传入自定义函数
def square(x):
return x ** 2
print(s.apply(square))
print()
map
语法:Series.map(arg, na_action=None)
根据输入的对应关系映射Series的值,运用到Series的每个元素上。
参数arg传入的可以是函数、字典、Series。其他参数详解见pandas.Series.map — pandas 1.4.2 documentation
#构造数据
s = pd.Series(['cat', 'dog', np.nan, 'rabbit'])
s
#传入字典,没有对应关系的默认为NaN
print(s.map({'cat': 'kitten', 'dog': 'puppy'}))
print()
#传入函数,没有对应关系的默认为NaN
print(s.map('I am a {}'.format))
print()
#传入函数,设置na_action='ignore'表示NA值不作转换
print(s.map('I am a {}'.format, na_action='ignore'))
print()
applymap
语法:DataFrame.applymap(func, na_action=None, _kwargs_)**
参数func传入的是函数,应用在DataFrame的每个元素中,该函数接受并返回一个标量到每个元素。其他参数详解见pandas.DataFrame.applymap — pandas 1.4.2 documentationm
#构造数据
df = pd.DataFrame([[4.000, 9.123]] * 3, columns=['A', 'B'])
df
#数据类型转换成int
print(df.applymap(int))
print()
#传入lambda匿名函数
print(df.applymap(lambda x: len(str(x))))
print()
#传入自定义函数
def square(x):
return x ** 2
print(df.applymap(square))
print()
总结
apply:应用在DataFrame的行或列中,也可以应用在Series的每个元素中
map:应用在Series的每个元素中
applymap:应用在DataFrame的每个元素中
Original: https://blog.csdn.net/sinat_41928169/article/details/124364019
Author: 大哇唧
Title: pandas中apply/map/applymap函数
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/756038/
转载文章受原作者版权保护。转载请注明原作者出处!