pandas中对某一列数据取对数或者指数相关操作。
- 创建一个dataframe
import pandas as pd
import numpy as np
df = pd.DataFrame([[2, 3], [3, 4]], columns=list("AB"))
结果如下:
A B
0 2 3
1 3 4
- log1p
对A列做log(x + 1)
# 对A列做log(x + 1)
df["A"] = df["A"].apply(np.log1p) # np.log1p与np.expm1互为逆运算
结果如下:
A B
0 1.098612 3
1 1.386294 4
- expm1
# 对A列执行函数e的x次幂-1
df["A"] = df["A"].apply(np.expm1) # np.log1p与np.expm1互为逆运算
结果如下:
A B
0 6.389056 3
1 19.085537 4
- exp
# 对A列求e的次数幂
df["A"] = df["A"].apply(np.exp) # np.exp与np.log互为逆运算
结果如下:
A B
0 7.389056 3
1 20.085537 4
-
log
# 对A列取对数
df["A"] = df["A"].apply(np.log) # np.exp与np.log互为逆运算
结果如下:
A B
0 0.693147 3
1 1.098612 4
- sqrt
# 对A列开平方
df["A"] = df["A"].apply(np.sqrt)
结果如下:
A B
0 1.414214 3
1 1.732051 4
- exp2
# 对A列计算平方
df["A"] = df["A"].apply(np.exp2) # np.exp2与np.log2互为逆运算
结果如下:
A B
0 4.0 3
1 8.0 4
- log2
# 对A列计算以2为底的对数
df["A"] = df["A"].apply(np.log2) # np.exp2与np.log2互为逆运算
结果如下:
A B
0 1.000000 3
1 1.584963 4