Python 数据帧中的不间断空格列索引
我有一个对象,其中包含一个列,其名称为Python 数据帧中的不间断空格列索引,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个对象,其中包含一个列,其名称为(即,不间断空格)。尽管以下代码段可以打印它: In[25]: ...: for key, item in grouped_df: ...: print(key) 输出: ... other names 我无法使用分组的[key]对其进行索引: In[29]: ...: for key, item in grouped_df: ...: print(key, grouped_df[key]
(即,不间断空格)。尽管以下代码段可以打印它:
In[25]:
...: for key, item in grouped_df:
...: print(key)
输出:
... other names
我无法使用分组的[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[' '])
grouped_df
是一个DataFrameGroupBy
对象,而不是数据帧。
要从分组的数据帧中提取数据帧,请使用:
列表(grouped\u df.groups.keys())
打印什么?打印列表会打印列表中包含的项目的repr
。这可能会在key
的值中显示不可见的字符,这是在使用print(key)
['',其他名称]
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