要按多个正则表达式对DataFrame列进行排序,可以使用sort_values函数,并传入多个正则表达式作为参数。下面是一个示例代码:
import pandas as pd
# 创建DataFrame
data = {'col1': ['abc', 'def', 'ghi', 'jkl'],
'col2': ['zyx', 'wvu', 'tsr', 'qpo']}
df = pd.DataFrame(data)
# 按多个正则表达式对col1列进行排序
regex_list = ['a.*', 'd.*']
df_sorted = df[df['col1'].str.contains('|'.join(regex_list))].sort_values('col1')
print(df_sorted)
输出结果为:
col1 col2
0 abc zyx
1 def wvu
在这个示例中,我们创建了一个包含两列的DataFrame。然后,我们使用str.contains函数过滤出col1列中包含任意一个正则表达式的行,并使用sort_values函数对结果进行排序。最后,我们打印出排序后的DataFrame。