给DF分组后按照包含['工资', '离补', '奖金', '差异']的名排序print
时间: 2023-06-14 22:05:07 浏览: 108
假设你的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
假设你已经将所有数据表的名称存储在一个名为 `table_names` 的列表中,并且你已经将这些表名按照 DF 数据库中的默认顺序进行了排序。下面是一种实现方式:
```python
# 定义包含关键字的列表
keywords = ['工资', '离补', '奖金', '差异']
# 定义一个空列表,用于存储包含关键字的表名
relevant_tables = []
# 遍历每个表名
for table_name in table_names:
# 如果表名包含任一关键字,就将其添加到 relevant_tables 列表中
if any(keyword in table_name for keyword in keywords):
relevant_tables.append(table_name)
# 将 relevant_tables 列表按照字母顺序进行排序
relevant_tables.sort()
# 输出结果
print(relevant_tables)
```
这段代码首先定义了一个包含关键字的列表。然后,它创建了一个空列表 `relevant_tables`,用于存储包含关键字的表名。接下来,它遍历所有表名,并检查每个表名是否包含任一关键字。如果是,就将该表名添加到 `relevant_tables` 列表中。最后,代码使用 `sort()` 方法按照字母顺序对 `relevant_tables` 列表进行排序,并将排序后的结果打印出来。
阅读全文