我有一个pandas groupby
对象,其中包含以
作为名称的列(即,不间断空格)。尽管以下代码段可以打印它:
In[25]:
...: for key, item in grouped_df:
...: print(key)
输出:
... other names
我不能够索引它与grouped_df[key]
:
In[29]:
...: for key, item in grouped_df:
...: print(key, grouped_df[key].count())
结果为:
KeyError: 'Column not found: '
[更新]
部分解决方案是使用.agg(['count'])
。但是,这是我给出的特定示例的解决方案,但不是主要问题。
下面是重现该问题的代码:
import numpy as np
import pandas as pd
N = 100
df = pd.DataFrame({'col':np.random.choice([1,2,3,4,' '], size=N),
'col2':np.random.randint(10, size=N) })
grouped_df = df.groupby('col')
for key, item in grouped_df:
print(key)
print(grouped_df[' '])
答案 0 :(得分:2)
grouped_df
是DataFrameGroupBy
对象,而不是一个数据帧。
为了提取从数据帧grouped_df
,使用get_group
method:
In [231]: grouped_df.get_group(' ')
Out[231]:
col col2
3 9
9 2
14 5
29 0
30 4
33 6
38 7
41 0
53 7
57 6
73 8
75 7
83 0
92 1
98 8