假设有一个名为data的数据集,包含列A和列B。我们想要对列A进行分组,并将每个组内的最小值分配给该组的每行。
可以使用pandas库中的groupby来实现这一点。
示例代码:
import pandas as pd
data = {'A': [1, 1, 2, 2, 3, 3], 'B': [10, 20, 15, 25, 30, 35]}
df = pd.DataFrame(data)
grouped = df.groupby('A')['B']
df['min_grouped'] = grouped.transform(min)
print(df)
输出:
A B min_grouped
0 1 10 10
1 1 20 10
2 2 15 15
3 2 25 15
4 3 30 30
5 3 35 30
解释:
首先,我们使用groupby创建一个分组对象,并选择列B作为我们要在其中查找最小值的列。
接下来,我们使用transform方法将每个组的最小值分配给该组中的每行。
最后,我们将新列添加到原始数据框中。
下一篇:按另一列进行分组外推