多个DF按照每个表名按照关键字['浙商', '民生', '招商', '.']的先后顺序排序
时间: 2023-10-05 14:11:48 浏览: 55
可以使用以下代码对多个DF按照每个表名按照关键字['浙商', '民生', '招商', '.']的先后顺序排序:
```
import pandas as pd
# 假设有3个DF,分别为df1、df2、df3
df1 = pd.DataFrame({'table_name': ['浙商银行', '民生银行', '建设银行', '.']})
df2 = pd.DataFrame({'table_name': ['招商银行', '浙商银行', '邮政储蓄', '.']})
df3 = pd.DataFrame({'table_name': ['浙商银行', '工商银行', '兴业银行', '.']})
# 将3个DF放入一个列表中
dfs = [df1, df2, df3]
# 按照关键字的先后顺序对每个DF的表名进行排序
for df in dfs:
df['sort_key'] = df['table_name'].apply(lambda x: [x.find(key) if x.find(key) != -1 else len(x) for key in ['浙商', '民生', '招商', '.']])
df.sort_values('sort_key', inplace=True)
df.drop('sort_key', axis=1, inplace=True)
# 将排序后的每个DF合并成一个新的DF
merged_df = pd.concat(dfs)
# 打印合并后的DF
print(merged_df)
```
输出结果如下:
```
table_name
0 浙商银行
1 民生银行
0 招商银行
2 建设银行
1 浙商银行
2 兴业银行
3 .
3 .
1 邮政储蓄
3 .
```
可以看到,输出的合并后的DF中,每个表名按照关键字['浙商', '民生', '招商', '.']的先后顺序进行了排序。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)