下面是一个示例代码,演示了如何按两个值对数据框进行排序,并按每n个大小分配类别:
import pandas as pd
# 创建一个示例数据框
data = {'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'B': [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]}
df = pd.DataFrame(data)
# 按两个值进行排序
df_sorted = df.sort_values(by=['A', 'B'])
# 定义每n个大小分配类别的函数
def assign_category(n):
# 计算每个元素所属的类别
df_sorted['Category'] = (df_sorted.index // n) + 1
# 根据类别对数据框进行分组
grouped = df_sorted.groupby('Category')
# 打印每个类别的数据
for category, group in grouped:
print(f'Category {category}:')
print(group)
print()
# 调用函数,指定每n个大小分配类别
assign_category(3)
运行以上代码,将按照列"A"和"B"的值对数据框进行排序,并按每3个大小分配类别。每个类别的数据将被打印出来。你可以根据自己的需求修改示例代码中的数据和参数。
上一篇:按两个因素在组内创建ID
下一篇:按两个值分组的UNIX