如何计算 pandas 的标准差:举例
您可以使用DataFrame.std()函数来计算 pandas DataFrame 中值的标准差。
实际中可以使用以下方法来计算标准差:
方法 1:计算列的标准差
df [ ' column_name ' ] . std ( )
方法二:计算多列的标准差
df [[ ' column_name1 ', ' column_name2 '] ] . std ( )
方法三:计算所有数值列的标准差
df . std ( )
请注意, std()函数在计算标准差时会自动忽略 DataFrame 中的任何 NaN 值。
以下示例展示了如何将每种方法与以下 pandas DataFrame 一起使用:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'], ' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) team points assists rebounds 0 to 25 5 11 1 to 12 7 8 2 B 15 7 10 3 B 14 9 6 4 B 19 12 6 5 B 23 9 5 6 C 25 9 9 7 C 29 4 12
方法 1:计算列的标准差
以下代码显示了如何计算 DataFrame 中列的标准差:
#calculate standard deviation of 'points' column df [ ' points ' ] . std ( ) 6.158617655657106
标准差为6.1586 。
方法二:计算多列的标准差
以下代码展示了如何计算DataFrame中多列的标准差:
#calculate standard deviation of 'points' and 'rebounds' columns
df[[' points ', ' rebounds ']]. std ()
points 6.158618
rebounds 2.559994
dtype:float64
“得分”列的标准差为6.1586 ,“篮板”列的标准差为2.5599 。
方法三:计算所有数值列的标准差
以下代码显示了如何计算 DataFrame 中每个数字列的标准差:
#calculate standard deviation of all numeric columns
df. std ()
points 6.158618
assists 2.549510
rebounds 2.559994
dtype:float64
请注意,pandas 没有计算“team”列的标准差,因为它不是数字列。
其他资源
以下教程解释了如何在 pandas 中执行其他常见操作:
如何计算 Pandas 中列的平均值
如何计算 Pandas 中的列中位数
如何计算 Pandas 中列的最大值