我想将此转换为:
W X Y Z tdate tdim stringdate
0 0.335737 -0.380237 -0.473996 -0.000448 2015-11-20 c 2015-11-20
1 -0.092511 1.149210 -0.834495 -0.585204 2015-05-25 c 2015-05-25
2 1.425946 1.293430 -0.545142 0.287451 2015-12-17 b 2015-12-17
3 -0.199412 1.011220 0.400355 0.470182 2015-03-21 c 2015-03-21
4 2.265234 -0.314174 0.684593 -1.360268 2015-12-23 b 2015-12-23
5 -0.192996 0.150177 -0.684978 0.464223 2015-11-19 b 2015-11-19
6 -1.089473 -1.375843 -0.901250 -0.775122 2015-07-25 c 2015-07-25
7 -0.572807 -2.484145 -2.339342 -0.263439 2015-05-31 a 2015-05-31
对此(使用实际数据而不是零占位符):
date 2015-11-20 2015-05-25 2015-12-17 2015-03-21 2015-12-23 \
metrics W X W X W X W X W X
tdim
a 0 0 0 0 0 0 0 0 0 0
b 0 0 0 0 0 0 0 0 0 0
c 0 0 0 0 0 0 0 0 0 0
date 2015-11-19 2015-07-25 2015-05-31
metrics W X W X W X
tdim
a 0 0 0 0 0 0
b 0 0 0 0 0 0
c 0 0 0 0 0 0
我浏览了Pandas MultiIndexes并自己创建了一个。这就是我如何得到后一个数据帧的原因,但我在文档中没有看到他将现有数据帧重新索引为具有多个列级别的示例。你知道吗
我已经看过这个Pandas: add a column to a multiindex column dataframe和pandas dataframe select columns in multiindex。这些都是有见地的,但对本案没有特别的帮助。你知道吗
我没有尝试过暴力解决方案(即使用循环手动填充数据)。你知道吗
我使用的是python2.7.10和pandas 0.16.1。你知道吗
我假设您希望使用所有
['W', 'X', 'Y', 'Z']
columns
,并且只使用date
列中的一列。如果是这样的话,下面的内容应该可以让您达到目的-如果您首先应用set_index
,然后unstack
,那么pandas
会自动创建MultiIndex
,然后swap
通过level
和sort
按您的意愿进行swap
:相关问题 更多 >
编程相关推荐