Python Pandas : ピボットテーブル with aggfunc = count unique distinct
2023-11-27 18:19:47
質問
このコード
df2 = (
pd.DataFrame({
'X' : ['X1', 'X1', 'X1', 'X1'],
'Y' : ['Y2', 'Y1', 'Y1', 'Y1'],
'Z' : ['Z3', 'Z1', 'Z1', 'Z2']
})
)
g = df2.groupby('X')
pd.pivot_table(g, values='X', rows='Y', cols='Z', margins=False, aggfunc='count')
は以下のようなエラーを返します。
Traceback (most recent call last): ...
AttributeError: 'Index' object has no attribute 'index'
のピボットテーブルを作成するにはどうすればよいですか?
ユニークな値の数
のピボットテーブルを得るにはどうしたらいいですか?
そこに
aggfunc
を使うべきでしょうか?私は使用する必要があります
np.bincount()
?
NB. 私が意識しているのは
pandas.Series.values_counts()
は知っていますが、私はピボットテーブルが必要です。
EDIT: 出力は次のようになります。
Z Z1 Z2 Z3
Y
Y1 1 1 NaN
Y2 NaN NaN 1
どのように解決するのですか?
このようなことですか?
>>> df2.pivot_table(values='X', index='Y', columns='Z', aggfunc=lambda x: len(x.unique()))
Z Z1 Z2 Z3
Y
Y1 1 1 NaN
Y2 NaN NaN 1
ただし
len
を使うということは
NA
がないことを前提としています。この場合
x.value_counts().count()
または
len(x.dropna().unique())
でなければ
関連
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み] データフレームをピボットするにはどうしたらいいですか?
-
[解決済み】PandasでSettingWithCopyWarningに対処する方法
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] Celeryタスクのユニットテストはどのように行うのですか?
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] データフレームをピボットするにはどうしたらいいですか?
-
[解決済み] Pythonの構文に新しいステートメントを追加することはできますか?
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] Python Empty Generator 関数
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法
-
[解決済み] Pythonの辞書にあるスレッドセーフについて