import xlwt import pandas as pd # 读取新EXCEL df = pd.DataFrame({'序号': [1, 2, 3, 4], '表名': ['西部公司', '东部公司','东部公司', '西部公司'], 'sheet名': ['表一', '表三','二', '表四'], '姓名': ['Malehhjkjkgkjjgkgjk', 'Femalestrehree', 'Femalegrhreherdfdfdfh', 'Maledfgfdgdfdg'], '金额': [2, 2, 2, 2]}) print(df) groups = df.groupby('sheet名') for name, group in groups: print(name) 把group按照关键字['四','三','二','一']先后顺序排序
时间: 2023-06-14 21:07:07 浏览: 131
可以使用pandas中的Categorical数据类型来指定关键字顺序,然后按照该顺序排序。代码如下:
```
import pandas as pd
# 读取新EXCEL
df = pd.DataFrame({'序号': [1, 2, 3, 4],
'表名': ['西部公司', '东部公司','东部公司', '西部公司'],
'sheet名': ['表一', '表三','二', '表四'],
'姓名': ['Malehhjkjkgkjjgkgjk', 'Femalestrehree', 'Femalegrhreherdfdfdfh', 'Maledfgfdgdfdg'],
'金额': [2, 2, 2, 2]})
# 指定关键字顺序
cat_dtype = pd.api.types.CategoricalDtype(categories=['四', '三', '二', '一'], ordered=True)
df['sheet名'] = df['sheet名'].astype(cat_dtype)
# 按照顺序排序
df_sorted = df.sort_values(by='sheet名')
print(df_sorted)
```
其中,`pd.api.types.CategoricalDtype`函数用于指定Categorical数据类型,`categories`参数指定关键字顺序,`ordered=True`表示该数据类型是有序的。`df['sheet名'].astype(cat_dtype)`用于将原DataFrame中的`sheet名`列转换为Categorical数据类型。最后,使用`df.sort_values(by='sheet名')`按照`sheet名`列的顺序排序。
阅读全文