我有一个具有分层索引的大型数据帧(下面的代码中提供了一个简单的/格式示例)。我想设置一种循环/自动方式,将数据帧按唯一索引值划分为子集,即下面编码的示例中的dfa、dfb、dfc等,并存储在列表中。
我已经尝试了以下方法,但不幸的是没有成功。感谢任何人的帮助!
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])发布于 2019-07-08 17:28:28
我不太确定这是否是你要找的,但是你检查过groupby pandas函数了吗?关键的部分是,您可以将其应用于MultiIndex,指定要分组的索引级别(或级别的子集)。例如:
split = {}
for value, split_group in data.groupby(level=0):
split[value] = split_group
print(split)正如@jezrael指出的那样,一种更简单的方法是:
dict(tuple(df.groupby(level=0)))https://stackoverflow.com/questions/56931768
复制相似问题