pandas apply

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)) 

pandas concat

axis=1 列维度

 
b2 = pd.concat([b2,tmp],axis=1)

axis=0 行维度

 
b2 = pd.concat([b2,tmp],axis=0)

pandas from_dict

 
data_pd = pd.DataFrame.from_dict(self.val_dict, orient='index').T 

.T 转置,行列互换一下 

pandas map

参数是函数

 
与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 

pandas values

 
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超详解(面试常问)