我相信这段代码可以访问 名称 和 群体 我相信这段代码可以使用迭代器访问名称和组的属性,但是,我还可以访问GroupBy对象的哪些其他属性,除了这两个之外,我在哪里可以找到GroupBy对象的属性,因为我在pandas文档中没有找到它们。
for name, group in GroupBy:
GroupBy
返回一个 GroupBy对象,它不仅是一个含有 key/group
元组,但作为一个对象,你可以将其参数作为属性来访问。
我们以下面的数据框架为例。
df = pd.DataFrame({'a':[1,2,3,2,2,3], 'b':[1,2,3,3,2,1]})
如前所述,通过对返回的对象进行迭代,我们得到了... key/group
元组,这些元组根据数据帧的 key
:
g = df.groupby('a')
key, group = next(iter(g))
print(key)
# 1
print(group)
a b
0 1 1
这是由其返回的内容。__iter__
杜德: next(g.__iter__())
,这就要求 get_iterator
:
def get_iterator(self, data: FrameOrSeries, axis: int = 0):
"""
Groupby iterator
Returns
-------
Generator yielding sequence of (name, subsetted object)
for each group
"""
splitter = self._get_splitter(data, axis=axis)
keys = self._get_group_keys()
for key, (i, group) in zip(keys, splitter):
yield key, group
可以像访问其他对象一样访问其属性。
g.__dict__
{'_selection': None,
'level': None,
'as_index': True,
'keys': 'a',
'sort': True,
'group_keys': True,
'squeeze': False,
'observed': False,
'mutated': False,
'obj': a b
0 1 1
1 2 2
2 3 3
3 2 3
4 2 2
5 3 1,
'axis': 0,
'grouper': <pandas.core.groupby.ops.BaseGrouper at 0x17399312eb0>,
'exclusions': {'a'}}
g.sort
# True