renkdm
@renkdm

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Python groupbyメソッド実行時エラー

解決したいこと

「Pythonデータ分析100本ノック  下山輝昌,他二名著」 より、
p.92にて、クラスタリングによるグループ化を行おうした際に
groupbyメソッド実行時エラーが発生してしまいました。

発生している問題・エラー

ValueError                                Traceback (most recent call last)
<ipython-input-6-727f137a9620> in <module>
----> 1 customer_clustering.groupby("cluster").count()

~\Anaconda3\lib\site-packages\pandas\core\frame.py in groupby(self, by, axis, level, as_index, sort, group_keys, squeeze, observed, dropna)
   6509         axis = self._get_axis_number(axis)
   6510 
-> 6511         return DataFrameGroupBy(
   6512             obj=self,
   6513             keys=by,

~\Anaconda3\lib\site-packages\pandas\core\groupby\groupby.py in __init__(self, obj, keys, axis, level, grouper, exclusions, selection, as_index, sort, group_keys, squeeze, observed, mutated, dropna)
    523             from pandas.core.groupby.grouper import get_grouper
    524 
--> 525             grouper, exclusions, obj = get_grouper(
    526                 obj,
    527                 keys,

~\Anaconda3\lib\site-packages\pandas\core\groupby\grouper.py in get_grouper(obj, key, axis, level, sort, observed, mutated, validate, dropna)
    796         # allow us to passing the actual Grouping as the gpr
    797         ping = (
--> 798             Grouping(
    799                 group_axis,
    800                 gpr,

~\Anaconda3\lib\site-packages\pandas\core\groupby\grouper.py in __init__(self, index, grouper, obj, name, level, sort, observed, in_axis, dropna)
    515                 if getattr(self.grouper, "ndim", 1) != 1:
    516                     t = self.name or str(type(self.grouper))
--> 517                     raise ValueError(f"Grouper for '{t}' not 1-dimensional")
    518                 self.grouper = self.index.map(self.grouper)
    519                 if not (

ValueError: Grouper for 'cluster' not 1-dimensional

該当するソースコード

01.png

02.png

自分で試したこと

cluster値の確認
:正しく0,1,2,3の値で構成されていました。

0

1Answer

列名の変更で多重のリストになっているのが原因ではないでしょうか。正しくは以下のコードと思います。


customer_clustering.columns = ["月内平均値","月内中央値", "月内最大値", "月内最小値","会員期間", "cluster"]
0Like

Comments

  1. @renkdm

    Questioner

    完全な凡ミスでした、、、解決しました本当にありがとうございます!!

Your answer might help someone💌