首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用分层索引拆分数据帧

使用分层索引拆分数据帧
EN

Stack Overflow用户
提问于 2019-07-08 17:17:05
回答 1查看 194关注 0票数 0

我有一个具有分层索引的大型数据帧(下面的代码中提供了一个简单的/格式示例)。我想设置一种循环/自动方式,将数据帧按唯一索引值划分为子集,即下面编码的示例中的dfa、dfb、dfc等,并存储在列表中。

我已经尝试了以下方法,但不幸的是没有成功。感谢任何人的帮助!

代码语言:javascript
复制
data = pd.Series(np.random.randn(9), index=[['a', 'a', 'a', 'b', 
'b', 'c', 'c', 'd', 'd'], [1, 2, 3, 1, 2, 1, 2, 2, 3]])

split = []
for value in data.index.unique():
    split.append(data[data.index == value])
EN

回答 1

Stack Overflow用户

发布于 2019-07-08 17:28:28

我不太确定这是否是你要找的,但是你检查过groupby pandas函数了吗?关键的部分是,您可以将其应用于MultiIndex,指定要分组的索引级别(或级别的子集)。例如:

代码语言:javascript
复制
split = {}
for value, split_group in data.groupby(level=0):
    split[value] = split_group
print(split)

正如@jezrael指出的那样,一种更简单的方法是:

代码语言:javascript
复制
dict(tuple(df.groupby(level=0)))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56931768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档