python除了利用data.groupby()[].transform('mean')生成平均值,transform还能设置什么
时间: 2024-02-05 11:04:43 浏览: 118
除了利用 `transform` 函数来生成平均值之外,`transform` 函数还可以进行其他的数据转换操作,例如:
1. `sum`:计算分组后的总值。
2. `count`:计算分组后的个数。
3. `max`:计算分组后的最大值。
4. `min`:计算分组后的最小值。
5. `median`:计算分组后的中位数。
6. `rank`:计算分组后的排名。
7. `cumsum`:计算分组后的累计总和。
8. `cumprod`:计算分组后的累计乘积。
此外,`transform` 还可以接受一个自定义的函数,用于进行自定义的数据转换操作。例如:
```python
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 1, 2, 3], 'B': [4, 5, 6, 7, 8, 9]})
# 自定义函数,将每个数值乘以 2
def multiply(x):
return x * 2
# 对 B 列进行数据转换
df['B_transformed'] = df.groupby('A')['B'].transform(multiply)
# 输出结果
print(df)
```
输出结果:
```
A B B_transformed
0 1 4 8
1 2 5 10
2 3 6 12
3 1 7 14
4 2 8 16
5 3 9 18
```
以上代码中,我们定义了一个自定义函数 `multiply`,用于将每个数值乘以 2。然后,我们对 DataFrame 的 B 列进行了数据转换,使用了 `transform` 函数和自定义函数 `multiply`。最后,输出转换后的结果。
阅读全文