【Python】ValueError: Grouper for 'Code' not 1-dimensional

跑出这种错误有两种情况:
第一种情况:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(6).reshape(3,2),columns=['bar','bar'])
df
   bar	bar
0	0	1
1	2	3
2	4	5

上面构建的DataFrame两列列名一样,这时GroupBy会报错:

df.groupby('bar')
ValueError: Grouper for 'bar' not 1-dimensional

这种情况比较好解决,就是将列名更改成不一样就行。

第二种情况:

df.columns = [['A','B']]
df
	A	B
0	0	1
1	2	3
2	4	5

这个DataFrame进行GroupBy也会报错:

df.groupby('A')
ValueError: Grouper for 'bar' not 1-dimensional

这个查看df的columns就知道了:

df.columns
MultiIndex(levels=[['A', 'B']],labels=[[0, 1]])

可以看到labels=[[0,1]]是一个二维的,只需要重新索引为一维即可:

df.columns = ['A','B']
df.groupby('A')

我们下次再见,如果还有下次的话!!!
欢迎关注微信公众号:516数据工作室
【Python】ValueError: Grouper for 'Code' not 1-dimensional_第1张图片

你可能感兴趣的:(Python)