根据索引分割DataFrame

时间:2019-01-03 17:59:04

标签: python-3.x

我有一个DataFrame,我想根据索引的字符串属性将其分为三个DataFrame。索引由ID组成,其中前两个字母表示国家/地区,例如

DE1
UK4
US5
DE2
UK1
US3

我想要三个具有以下索引的数据框:

DE1
DE2

UK1
UK4

US3
US5

这似乎很有希望:

df.groupby(df.index.str[:2]).groups

但是我不知道如何使用它来解决我的问题...

1 个答案:

答案 0 :(得分:0)

这是一种方法

split = []
for value in df.index.str[:2].unique().values:
    split.append(df[df.index.str[:2] == value])

我们首先使用数据框中的前2个字母来计算唯一的国家/地区代码。然后,我们遍历它们,并使用所有唯一的国家/地区代码将其索引到数据框中。在这里,我只是将结果DataFrame添加到数组中。