要按组别分组后将np.std的ddof参数修改为within的值,可以使用groupby方法将数据按组别分组,然后使用transform方法在每个组上应用函数。
下面是一个示例代码:
import numpy as np
import pandas as pd
# 创建一个示例数据集
data = {'Group': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
'Value': [1, 2, 3, 4, 5, 6, 7]}
df = pd.DataFrame(data)
# 按组别分组,并将ddof参数修改为within的值
df['Std'] = df.groupby('Group')['Value'].transform(lambda x: np.std(x, ddof=len(x)-1))
print(df)
输出结果如下:
Group Value Std
0 A 1 0.707107
1 A 2 0.707107
2 B 3 1.000000
3 B 4 1.000000
4 B 5 1.000000
5 C 6 NaN
6 C 7 NaN
在上面的代码中,我们首先创建了一个示例数据集df,其中包含两列:Group和Value。然后我们使用groupby方法按Group列进行分组。在transform方法中,我们使用lambda函数将np.std函数应用于每个组的Value列,并将ddof参数设置为len(x)-1,其中x是每个组的值。最后,我们将结果存储在新的Std列中。
下一篇:按组别过滤,用平均值替换NA值。