我在排序我的标题时遇到了问题,它显示了当年发生的所有会议,而不是转移到下一年(M是会议):
给定数据框架:
Meeting M1/2023 M1/2024 M1/2025 M1/2026 M2/2023 M2/2024 M2/2025 M2/2026 M3/2023 M3/2024 (...)
Date
2023-01-02 13.75 11.7500 NaN NaN 13.75 11.2500 NaN NaN 13.75 10.9375 (...)
2023-01-03 13.75 11.7500 NaN NaN 13.75 11.2500 NaN NaN 13.75 10.8750 (...)
2023-01-04 13.75 11.8125 NaN NaN 13.75 11.4375 NaN NaN 13.75 11.0000 (...)
2023-01-05 13.75 11.7500 NaN NaN 13.75 11.3750 NaN NaN 13.75 11.0000 (...)
What the order should be:
M1/2023 M2/2023 M3/2023 M4/2023 M1/2024 M2/2024 M3/2024 M4/2024 M1/2025 M2/2025 (...)
Date
(...)
一开始我试图使用df. sort_values()重新排序,但结果是一样的.我的下一个步骤是将标题作为字符串,这样我就可以编辑数据并在会议编号前面添加年份,这样sort_valeus()就可以工作了:
headers_dict = {}
for i in df.columns:
headers_dict[i] = i.split('/')[1]+'_'+i.split('/')[0]
输出:
{'M1/2023': '2023_M1',
'M1/2024': '2024_M1',
'M1/2025': '2025_M1',
'M1/2026': '2026_M1',
'M2/2023': '2023_M2',
'M2/2024': '2024_M2',
'M2/2025': '2025_M2', (...)}
这部分工作了,但是我不能把编辑过的字符串放回df(我试着在这里使用. reindex()),而不把我所有的数据都转换成NaN.我该怎么办?有办法吗?对不起,我的英语不好.