(背景:我正在尝试学习Pandas和matplotlib并从我的irclog中获得一些漂亮的图表.)
我设法将一些数据解析成一个多索引的Series(我们称之为itseries):
msgs
id datetime_period
A 2014-07-04 07:00 1
2014-07-04 08:00 2
2014-07-08 11:00 5
B 2014-07-08 11:00 1
C 2014-07-04 07:00 2
对于制图,我想将其组织成如下所示的数据框:
index A B C
2014-07-04 07:00 1 0 2
2014-07-04 08:00 2 0 0
2014-07-08 11:00 5 1 0
我该怎么做呢?我想我可以做这样的事情:
df = DataFrame({i: series.ix[i] for i in ['A', 'B', 'C'] })
但是还有更多的“熊猫”方式吗? (或者,如果没有,我将如何从系列中检索列表[‘A’,’B’,’C’],而不是像上面那样明确地写出来?)
或者(在更容易使用的情况下),还有一个原始的“原始”数据框,我首先使用它来构建系列.它包含每个昵称发布的每个消息的时间戳,如下所示:
timestamp id
2014-07-04 07:11:00 A
2014-07-04 07:12:32 C
2014-07-04 07:15:03 C
etc.
解决方法:
unstack
可用于将MultiIndex的级别旋转到列中. fillna将缺失的值替换为0,如所需的输出所示.
In [313]: series.unstack(level='id').fillna(0)
Out[313]:
id A B C
datetime_period
2014-07-04 07:00:00 1 0 2
2014-07-04 08:00:00 2 0 0
2014-07-08 11:00:00 5 1 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。