Python Python: Appliquer la fonction à l'ensemble de données en place

Est-il un moyen que je pouvais utiliser une fonction scipy comme norme.cdf en place sur un numpy.array (ou pandas.DataFrame), en utilisant une variante de numpy.applynumpy.apply_along_axsetc?


L'arrière-plan est, j'ai une table de valeurs de score z que je voudrais le convertir à CDF valeurs de la norme de distribution. Je suis actuellement à l'aide norme.cdf de scipy pour cela.

Je suis actuellement à la manipulation d'un dataframe qui a des valeurs non numériques.

      Name      Val1      Val2      Val3      Val4 
0        A -1.540369 -0.077779  0.979606 -0.667112   
1        B -0.787154  0.048412  0.775444 -0.510904   
2        C -0.477234  0.414388  1.250544 -0.411658   
3        D -1.430851  0.258759  1.247752 -0.883293   
4        E -0.360181  0.485465  1.123589 -0.379157

(La prise de Name variable d'un index est une solution, mais dans mon jeu de données, les noms ne sont pas des caractères alphabétiques.)

Pour modifier les données numériques seulement, je suis en utilisant df._get_numeric_data() privé fonction qui retourne un dataframe contenant un dataframe de données numériques. Cependant, il n'est pas set fonction. Donc, si je l'appelle

norm.cdf(df._get_numeric_data)

cela ne changera pas df's de données d'origine.

Je suis en train d'essayer de contourner cela en appliquant norm.cdf pour le numérique dataframe en placedonc, ça change de mon jeu de données d'origine.

source d'informationauteur hlin117