pandas 重新排列标题框架中的单词

lymnna71  于 2023-10-14  发布在  其他
关注(0)|答案(1)|浏览(90)

我有一个dataframe:

df = pd.DataFrame({ 
'FY18Q1': [ 1500, 1200, 950, 2200], 
'FY18Q2': [ 2340, 1234, 2000, 1230],
'FY18Q3': [2130, 2200, 2190, 2210],   
'FY18YearTotal': [1000, 1900, 1500, 1800]})

我想重新安排标题的顺序。我想在标题中读到'1Q18',其中它读到'FY181Q','FY18'读到'FY18YearTotal'
我可以通过以下方式删除“FY”和“YearTotal”:

df.columns = df.columns.str.replace(r"(|FY|\.)", "")
df.columns = df.columns.str.replace(r"(|YearTotal|\.)", "")

但这并不能让我:

df = pd.DataFrame({ 
'1Q18': [ 1500, 1200, 950, 2200], 
'2Q18': [ 2340, 1234, 2000, 1230],
'3Q18': [2130, 2200, 2190, 2210],   
'FY18': [1000, 1900, 1500, 1800]})
t3psigkw

t3psigkw1#

您可以在这里简单地将两个调用链接到str.replace

df.columns = df.columns.str.replace(r'^FY(\d+)Q(\d+)', r'\2Q\1', regex=True)
                       .str.replace(r'YearTotal$', r'', regex=True)

相关问题