给DF分组后按照包含['工资', '离补', '奖金', '差异']的名排序print
时间: 2023-06-14 21:05:07 浏览: 74
假设你的DF叫做 `df`,可以按照以下步骤进行分组、筛选和排序:
```python
# 按照包含指定词汇的列进行分组
grouped = df.groupby(df.columns.str.contains('工资|离补|奖金|差异'), axis=1)
# 获取包含指定词汇的列
selected_cols = [col for col in df.columns if any(word in col for word in ['工资', '离补', '奖金', '差异'])]
# 对包含指定词汇的列进行排序
sorted_df = df[selected_cols].sort_values(by=selected_cols, ascending=False)
# 打印排序后的结果
print(sorted_df)
```
其中,`groupby` 函数可以按照指定的条件对数据进行分组,这里使用了 `df.columns.str.contains('工资|离补|奖金|差异')` 来表示需要按照包含 `'工资'`、`'离补'`、`'奖金'`、`'差异'` 这四个词汇的列进行分组。
接着,我们使用 `any(word in col for word in ['工资', '离补', '奖金', '差异'])` 来筛选出包含指定词汇的列,并将其存入 `selected_cols` 变量中。
最后,我们使用 `sort_values` 函数对包含指定词汇的列进行排序,使用 `ascending=False` 来表示按照降序排列。
最终,我们将排序后的结果打印出来。
相关问题
给DF分组后按照包含关键字['工资', '离补', '奖金', '差异']的名排序print
以下是按照包含关键字['工资', '离补', '奖金', '差异']的名排序输出的代码:
```python
# 假设 DF 是一个包含数据的 DataFrame 对象
df_grouped = DF.groupby('名')
# 按照包含关键字['工资', '离补', '奖金', '差异']的名排序输出
for name, group in sorted(df_grouped, key=lambda x: any(keyword in x[0] for keyword in ['工资', '离补', '奖金', '差异'])):
if any(keyword in name for keyword in ['工资', '离补', '奖金', '差异']):
print(name)
print(group)
```
这段代码首先将 DF 按照名分组,然后使用 `sorted` 函数对分组后的结果进行排序,排序规则是根据名字是否包含关键字['工资', '离补', '奖金', '差异'],如果包含则排在前面,否则排在后面。最后遍历排序后的结果,对于包含关键字的名字,输出名字和对应的数据组。
给DF分组后按照包含关键字['工资', '离补', '奖金', '差异']的表名排序print
假设DF是一个包含表名的DataFrame,你可以按照以下步骤进行分组、匹配关键字、排序和打印:
```python
# 导入必要的库
import pandas as pd
# 假设DF是一个包含表名的DataFrame
# 对表名进行分组
grouped = DF.groupby('表名')
# 匹配关键字,筛选出包含关键字的表名
keyword = ['工资', '离补', '奖金', '差异']
matched = []
for name, group in grouped:
for k in keyword:
if k in name:
matched.append(name)
break
# 对匹配到的表名进行排序
matched = sorted(matched)
# 打印结果
for name in matched:
print(name)
```
这段代码首先对表名进行分组,然后在每个组中匹配关键字,将匹配到的表名存储在一个列表中,并对列表进行排序,最后打印结果。