1
周的行我有一个熊猫的时间序列:枢轴每日时间序列的大熊猫
days = pd.DatetimeIndex([
'2011-01-01T00:00:00.000000000',
'2011-01-02T00:00:00.000000000',
'2011-01-03T00:00:00.000000000',
'2011-01-04T00:00:00.000000000',
'2011-01-05T00:00:00.000000000',
'2011-01-06T00:00:00.000000000',
'2011-01-07T00:00:00.000000000',
'2011-01-08T00:00:00.000000000',
'2011-01-09T00:00:00.000000000',
'2011-01-11T00:00:00.000000000',
'2011-01-12T00:00:00.000000000',
'2011-01-13T00:00:00.000000000',
'2011-01-14T00:00:00.000000000',
'2011-01-16T00:00:00.000000000',
'2011-01-18T00:00:00.000000000',
'2011-01-19T00:00:00.000000000',
'2011-01-21T00:00:00.000000000',
])
counts = [85, 97, 24, 64, 3, 37, 73, 86, 87, 82, 75, 84, 43, 51, 42, 3, 70]
df = pd.DataFrame(counts,
index=days,
columns=['count'],
)
df['day of the week'] = df.index.dayofweek
它看起来是这样的:
count day of the week
2011-01-01 85 5
2011-01-02 97 6
2011-01-03 24 0
2011-01-04 64 1
2011-01-05 3 2
2011-01-06 37 3
2011-01-07 73 4
2011-01-08 86 5
2011-01-09 87 6
2011-01-11 82 1
2011-01-12 75 2
2011-01-13 84 3
2011-01-14 43 4
2011-01-16 51 6
2011-01-18 42 1
2011-01-19 3 2
2011-01-21 70 4
注意,有一些日子,缺少这应该充满零。我想将其转换为看起来像日历,以便行数增加数周,列数是一周中的几天,而值是该特定日期的计数。所以,最终的结果应该是这样的:
0 1 2 3 4 5 6
0 0 0 0 0 0 85 97
1 24 64 3 37 73 86 87
2 0 82 75 84 0 0 51
3 0 42 3 0 70 0 0
0周前五天(0-4)有一个零计数。有没有办法改变一切,所以第六天是第一天?如果我将这个DF转换为一个numpy数组,然后将其平坦化,那么它将在开始和结束处填充零,但我希望它的长度与原始DF中的行数相同。我打算将一些转换应用于此透视表。 – slaw
您可以随时通过传递列名来重新排列列。 'new_df [[6,0,1,2,3,4,5]]将把第七列作为第一列。你是这个意思吗? – Psidom