Pandas中apply()使用
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.apply.html
pandas.Series.apply
Series.apply( func , convert_dtype = True , args = () , ** kwargs )[来源]
对 Series 的值调用函数。
可以是 ufunc(适用于整个系列的 NumPy 函数)或仅适用于单个值的 Python 函数。
参数
func函数
要应用的 Python 函数或 NumPy ufunc。
convert_dtype bool,默认为 True
尝试为元素函数结果找到更好的 dtype。如果为 False,则保留为 dtype=object。请注意,dtype 始终保留用于某些扩展数组 dtype,例如 Categorical。
args:tuple
在系列值之后传递给 func 的位置参数。
**kwargs
传递给 func 的其他关键字参数。
reyurn:
seties或DataFrame
如果 func 返回一个 Series 对象,则结果将是一个 DataFrame。
-----------------------
其他函数
Series.map
用于元素操作。
Series.agg
仅执行聚合类型操作。
Series.transform
只执行转换类型操作。
针对series数据:
df[‘Extra‘] = df.Nationality(字段名).apply(lambda n, extra : extra if n == ‘汉‘ else 0, args=(5,))
针对DataFrame数据:
下面的示例对 x 和 y 列进行平方运算:
df.apply(lambda x : np.square(x) if x.name in [‘x‘, ‘y‘] else x)
x y z
a 1 4 3
b 16 25 6
c 49 64 9
下面的示例对第一行 (a 标签所在行)进行平方运算:
df.apply(lambda x : np.square(x) if x.name == ‘a‘ else x, axis=1)
默认情况下 axis=0 表示按列,axis=1 表示按行。
原文链接:https://blog.csdn.net/stone0823/article/details/100008619
备注:apply()可用于两列日期的计算