前提・実現したいこと
Python初心者です。pandas等を用いて一つのexcelファイルからデータ分析をしています。
10列以上からなるシートの中から”Player”、”Angle”のカラムのみを抽出し、Playerごとに”Angle”がそのPlayerの全データ数に対して4~16°の間にある割合を計算させ、meanやmax,stdとともに表示させたいと思っています(describe関数+αのイメージ)。
Playerは複数人、1Playerに複数のデータ(行)が入っているファイルです。Angleは-20~20°の範囲です。
初心者の為、関数定義などの根本がまだ理解できていません。
ご教授の程、よろしくお願い致します。
発生している問題・エラーメッセージ
ValueError: no results
該当のソースコード
import pandas as pd import numpy as np df = pd.read_excel("sample",header=[0]) df = df[["Player","Angle"]] AA_416range = ((df["Angle"]>=4)&(df["Angle"]<16)).sum() AA_count = (df["Angle"]).count() #Angle4-16の%関数作成 def AA4_16(AA_416range,AA_count): return AA_416range / AA_count df = df.groupby("Player").agg([np.mean,max,np.std,AA4_16])
試したこと
定義化したものをagg()の中に組み込みたいため、4~16°にある個数と全データ個数を定義化しそれを除算したものを関数化しようとしています。
補足情報(FW/ツールのバージョンなど)
vscode,python3.9.4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/06 10:31
2021/11/06 10:34
2021/11/06 11:08