要按照组创建包含范围的列,可以使用Pandas库来实现。下面是一个示例代码:
import pandas as pd
# 创建一个包含组信息的DataFrame
df = pd.DataFrame({'Group': ['A', 'A', 'B', 'B', 'C', 'C'],
'Value': [1, 2, 3, 4, 5, 6]})
# 根据组进行分组,并按照范围创建新的列
df['Range'] = df.groupby('Group')['Value'].transform(lambda x: f"{x.min()}-{x.max()}")
print(df)
运行以上代码,会得到以下输出:
Group Value Range
0 A 1 1-2
1 A 2 1-2
2 B 3 3-4
3 B 4 3-4
4 C 5 5-6
5 C 6 5-6
在这个示例中,我们首先创建一个包含组信息的DataFrame。然后,使用groupby()
方法来按照组进行分组。接下来,我们使用transform()
方法和lambda
函数来计算每个组的最小值和最大值,并创建一个新的列"Range"来存储范围信息。最后,我们打印输出整个DataFrame。
注意,以上代码假设每个组内的数值是有序的。如果组内的数值是无序的,可以在transform()
方法之前使用sort_values()
方法进行排序。