English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ejemplo de operación de funciones estadísticas de Pandas
Los métodos estadísticos ayudan a entender y analizar el comportamiento de los datos. Ahora, aprenderemos algunos funciones estadísticas que se pueden aplicar a objetos Pandas.
Series, DataFrames y Panes tienen la función pct_change(). Esta función compara cada elemento con su elemento anterior y calcula el porcentaje de cambio.
import pandas as pd import numpy as np s = pd.Series([1,2,3,4,5,4] print(s.pct_change() df = pd.DataFrame(np.random.randn(5, 2)) print(df.pct_change())
运行结果:
0 NaN 1 1.000000 2 0.500000 3 0.333333 4 0.250000 5 -0.200000 dtype: float64 0 1 0 NaN NaN 1 -15.151902 0.174730 2 -0.746374 -1.449088 3 -3.582229 -3.165836 4 15.601150 -1.860434
Por defecto, pct_change() opera sobre las columnas; si se desea aplicar el mismo renglón sabiamente, utilice axis = 1()) parámetros.
La covarianza se aplica a datos de secuencia. Los objetos de serie tienen el método cov para calcular la covarianza entre objetos de serie. NA se excluye automáticamente.
import pandas as pd import numpy as np s1 = pd.Series(np.random.randn(10)) s2 = pd.Series(np.random.randn(10)) print(s1.cov(s2))
运行结果:
-0.12978405324
Al aplicar el método de covarianza a DataFrame, se calculará el cov entre todas las columnas.
import pandas as pd import numpy as np frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e']) print(frame['a'].cov(frame['b'])) print(frame.cov())
运行结果:
-0.58312921152741437 a b c d e a 1.780628 -0.583129 -0.185575 0.003679 -0.136558 b -0.583129 1.297011 0.136530 -0.523719 0.251064 c -0.185575 0.136530 0.915227 -0.053881 -0.058926 d 0.003679 -0.523719 -0.053881 1.521426 -0.487694 e -0.136558 0.251064 -0.058926 -0.487694 0.960761
Observa el valor cov de las columnas a y b en la primera instrucción, que es el mismo que el valor devuelto por cov en DataFrame.
la correlación muestra la relación lineal entre dos arrays (secuencias) de valores. Hay varios métodos para calcular la correlación, como pearson (por defecto), spearman y kendall.
import pandas as pd import numpy as np frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e']) print(frame['a'].corr(frame['b'])) print(frame.corr())
运行结果:
-0.383712785514 a b c d e a 1.000000 -0.383713 -0.145368 0.002235 -0.104405 b -0.383713 1.000000 0.125311 -0.372821 0.224908 c -0.145368 0.125311 1.000000 -0.045661 -0.062840 d 0.002235 -0.372821 -0.045661 1.000000 -0.403380 e -0.104405 0.224908 -0.062840 -0.403380 1.000000
如果DataFrame中存在任何非数字列,则会自动将其排除。
数据排名对元素数组中的每个元素进行排名。如果是平局,则分配平均排名。
import pandas as pd import numpy as np s = pd.Series(np.random.np.random.randn(5), index=list('abcde')) s['d'] = s['b'] # so there's a tie print(s.rank())
运行结果:
a 1.0 b 3.5 c 2.0 d 3.5 e 5.0 dtype: float64
Rank可以选择将参数升序,默认情况下为true;如果为false,则对数据进行反向排名,将较大的值分配为较小的排名。
Rank支持使用method参数:
average − 并列组的平均等级。 min − 组中最低的排名。 max − 组中最高等级。 first − 行列分配在它们出现的数组中的顺序。