格式化python pandas中的系列输出



这是我的DataFrame。这是一天8小时的表现,以及许多不同的时间表组合。时间为24小时。输入:

solutions = problem.getSolutions()
pd.options.display.max_columns = None
df = pd.DataFrame(solutions)

输出:

WorkHr1 WorkHr2 WorkHr3 WorkHr4  WorkOut  Lunch   FreeHour  Cleaning
0       13     14     15     16        11     10         9        12
1       13     14     15     16        11     10        12         9
2       13     14     15     16        11     12        10         9
3       13     14     15     16        11     12         9        10
4       13     14     15     16        12     11        10         9
..     ...    ...    ...    ...       ...    ...       ...       ...

我可以使用创建一个系列

series1 = pd.Series(solutions[0])
print(series1)

我得到这个输出:

WorkHr1     13
WorkHr2     14
WorkHr3     15
WorkHr4     16
WorkOut     11
Lunch       10
FreeHour     9
Cleaning    12

如何切换此系列的列,使时间排在第一位?

此外,有没有任何可能的方法可以按时间顺序显示行?像这样:

9    FreeHour
10       Lunch
11     WorkOut
12    Cleaning
13     WorkHr1
14     WorkHr2
15     WorkHr3
16     WorkHr4

您可以通过将其索引作为数据和数据作为索引传递给Series构造函数来反转它:

out = pd.Series(s.index, index=s).sort_index()

输出:

9     FreeHour
10       Lunch
11     WorkOut
12    Cleaning
13     WorkHr1
14     WorkHr2
15     WorkHr3
16     WorkHr4
dtype: object

最新更新