実現したいこと
標本標準偏差をstd()を用いて値を求めたい。
前提
とあるDataFrame型に対して、インデックス参照で特定カラムの最大値や最小値、平均や中央値は普通に求まりましたが、標準偏差を求めようとした際にinfと表示されました。
エラーではないのですが、なぜinfになるのかと思い質問させて頂きました。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
python
1import numpy as np 2import pandas as pd 3 4df = pd.read_pickle("./data/health.pickle") 5print(df.head()) 6 7#max()メソッドを使ってあるカラムの最大値を求める。 8print(df["摂取カロリー"].max()) #2500.0 9 10#min()メソッドを使ってあるカラムの最大値を求める。 11print(df["摂取カロリー"].min()) #1800.0 12 13print(df["摂取カロリー"].mode()) # 0 2300.0 dtype: float16 14 15print(df["摂取カロリー"].mean()) #2027.0 16 17print(df["摂取カロリー"].median()) #1945.0 18 19print(df["摂取カロリー"].std()) #inf 20df.dtypes
出力結果
date 歩数 摂取カロリー 歩数/カロリー 運動指数
2022-04-01 5439 2500.0 2.175600 Low
2022-04-02 2510 2300.0 1.091304 Low
2022-04-03 10238 1950.0 5.250256 Mid
2022-04-04 8209 1850.0 4.437297 Mid
2022-04-05 9434 1930.0 4.888083 Mid
2500.0(最大値)
1800.0(最小値)
0 2300.0 (最頻値)
dtype: float16
2027.0 (平均値)
1945.0 (中央値)
inf (標準偏差 : 何故か無限大になっている)
歩数 int64
摂取カロリー float16
歩数/カロリー float64
運動指数 object
dtype: object
試したこと
pd.Series([2500,2300,1950,1850,1930,1800,1940,2300]).std()
⇒257.15128954427917
元のDataFrameのデータを何度見返しても全て1800~2500の範囲に収まっています。
補足情報(FW/ツールのバージョンなど)
大元のデータ(見辛くてすみません)
歩数 摂取カロリー 歩数/カロリー 運動指数
date
2022-04-01 5439 2500.0 2.175600 Low
2022-04-02 2510 2300.0 1.091304 Low
2022-04-03 10238 1950.0 5.250256 Mid
2022-04-04 8209 1850.0 4.437297 Mid
2022-04-05 9434 1930.0 4.888083 Mid
2022-04-06 7593 1800.0 4.218333 Mid
2022-04-07 9320 1940.0 4.804124 Mid
2022-04-08 4873 2300.0 2.118696 Low
2022-04-09 12045 1950.0 6.176923 High
2022-04-10 7493 1850.0 4.050270 Mid
2022-04-11 7289 1930.0 3.776684 Mid
2022-04-12 6481 2300.0 2.817826 Low
2022-04-13 10287 1800.0 5.715000 Mid
2022-04-14 8043 1940.0 4.145876 Mid
2022-04-15 7435 2300.0 3.232609 Mid
2022-04-16 7529 2300.0 3.273478 Mid
2022-04-17 8031 1940.0 4.139691 Mid
2022-04-18 8475 2300.0 3.684783 Mid
2022-04-19 8132 1950.0 4.170256 Mid
2022-04-20 15328 1800.0 8.515556 High
2022-04-21 12849 1940.0 6.623196 High
2022-04-22 4029 2300.0 1.751739 Low
2022-04-23 3890 1950.0 1.994872 Low
2022-04-24 8093 1850.0 4.374595 Mid
2022-04-25 7823 1950.0 4.011795 Mid
2022-04-26 7492 1850.0 4.049730 Mid
2022-04-27 7203 1930.0 3.732124 Mid
2022-04-28 7302 1850.0 3.947027 Mid
2022-04-29 6033 2300.0 2.623043 Low
2022-04-30 4093 1950.0 2.098974 Low
python3.8.8

回答1件
あなたの回答
tips
プレビュー