我希望能够按字符串或日期进行分组,并遍历这些分组。
df = pd.DataFrame({'A': ['foo', 'bar'] * 3,
'B': ['me', 'you', 'me'] * 2,
'C': [5, 2, 3, 4, 6, 9]})
groups = df.groupby('A')
例如,在这段代码中,我按照它们的名称“foo”和“bar”对组进行了分组,并且可以使用以下方式循环遍历它们:
for name, group in groups:
print name
我的问题是我需要在这个循环内部运行另一个循环,并且每次都需要调用不同的一组组。例如(假设组的大小为n)。
for name,group in groups:
for name1 in range(name, name + 9): # + 9 to get first 9 groups for every iteration`
由于名称是一个字符串,我无法做到这一点。 简而言之,我只想要一种方法,通过该方法我可以按编号访问组,以便轻松调用所需的组进行计算。 类似于
groups = df.group('A')
for i in range(0,n):
print group(i)[] + group(i+1)[]
如果我有以下分组 [g1、g2、g3、g4、g5],我希望按对迭代调用它们,如[g1、g2]、[g2、g3]、[g3、g4]...每次取两个系列的交集。我正在寻找一种通过索引或某些编号来调用分组[g1、g2、..g5]以便我可以将它们用于循环操作的方法。目前唯一我知道的调用组的方法是通过组的名称,就像上面的例子中的'foo'和'bar'。 我想获得这样的操作能力:
for name,group in groups-1:
print gb.get_group(name)
print gb.get_group(name+1)
我知道这可能是一个简单的问题,但我已经苦苦挣扎了一段时间。我会非常感激任何形式的帮助。