python - 根据字典对列重新排序

标签 python dictionary pandas indexing

我有一个看起来像的DataFrame

Day    Oct    Dec    Nov
1       5      7      3
2       0      23     8
3       2      12     10

大约有 30 条记录。

不幸的是,我并不总是知道这些列将会是什么(它是根据不同月份的实时数据集生成的)。我知道它们将在集合中(一月、二月、三月、四月...十二月)并且将有三列,但我不知道是哪三列,也不知道顺序是什么。

如何强制它们按照适当的日历顺序排列?

我假设我需要通过将名称链接到像这样的字典来将它们排序为整数

month_dict = {'Jan': 0, 
          'Feb': 1, 
          'Mar': 2, 
          'Apr': 3, 
          'May': 4, 
          'Jun': 5, 
          'Jul': 6,
          'Aug': 7, 
          'Sep': 8, 
          'Oct': 9, 
          'Nov': 10, 
          'Dec': 11}

但我不知道如何使用它来对列进行排序

最佳答案

有:

df = df.rename(columns=month_dict).sort_index(axis=1)

关于python - 根据字典对列重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34052206/

相关文章:

python - Kivy:触摸标签以选中复选框

Python 函数式方法 : remove key from dict using filter

java - 如何在Java中将用户输入的字符与字典文件进行比较?

python - 如何在Python中的另一个循环中正确编写一个for循环?

python - 如何将一行两列数据框转换为多行两列数据框

python - 如何在 Python pandas DataFrame 中对列值进行切片

Python 中 pandas 的时差

python - 在 python 中的 GAE 上使用 OAuth2

python - 如何将 pandas DataFrame 转换为特定的带注释的类 csv 格式(内部描述)

python - 将不同列长度的 numpy 矩阵的条目放入一维数组中