微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – Pandas:连接具有相同索引的项目

我有一个pandas数据框,它是一个带有值和索引的向量,比如说:

row1  10
row1  11
row2  9
row2  8

但是,我想从中创建一个2×2矩阵,其中行索引实际上是一个头(列索引).像这样:

row1  row2
10    9
11    8

这样做最有效的方法是什么?这个例子是一个简化,但我可以处理数以千计的数据点. pandas是否具有将具有相同索引的项目连接到表中的特定功能

观察:所有索引都具有相同数量的条目.

解决方法:

将另一列分配给索引并取消堆栈

s.index = [s.groupby(level=0).cumcount(), s.index]
s.unstack()

0  row1  row2
0    10     9
1    11     8

另类numpy方法
还是慢一点(等等……)

u, inv = np.unique(s.index.values, return_inverse=True)
data = dict(zip(u, [s.values[g] for g in (np.arange(len(u))[:, None] == inv)]))
pd.DataFrame(data)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐