lambda 参数:表达式
lambda x, y: x*y # 函数输入是x和y,输出是它们的积x*y lambda:None # 函数没有输入参数,输出是None lambda *args: sum(args) # 输入是任意个数参数,输出是它们的和(隐性要求输入参数必须能进行算术运算) lambda **kwargs: 1 # 输入是任意键值对参数,输出是1
apply方法都是通过传入一个函数或者lambda表达式对数据进行批量处理 apply方法处理的都是一个Series对象
df.apply(np.sqrt) df.apply(np.sum, axis=0) df.apply(np.sum, axis=1) data['col'] = data['col'].apply(lambda x: round(x))
axis=1 列维度
b2 = pd.concat([b2,tmp],axis=1)
axis=0 行维度
b2 = pd.concat([b2,tmp],axis=0)
data_pd = pd.DataFrame.from_dict(self.val_dict, orient='index').T .T 转置,行列互换一下
参数是函数
与apply完全等效 data['col'] = data['col'].apply(lambda x: round(x)) 等价于 data['col'] = data['col'].map(lambda x: round(x))
参数是字典:映射功能
dic = {"aaa":"bbb"} data['col'] = data['col'].map(dic) 它会将原data中col值为aaa的数值转换/映射为bbb
import pandas as pd data = pd.DataFrame([[1,2,3],[1,2,3],[1,2,3]],columns=["a","b","c"]) data.columns # Index(['a', 'b', 'c'], dtype='object')
data.values array([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
type(data.values) numpy.ndarray
pandas之apply函数简介及用法详解 Python 教学 | Pandas 函数应用(apply/map)【下】 Pandas核心操作map、apply、applymap超详解(面试常问)