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.apply
numpy.apply_along_axs
etc?
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
Vous devez vous connecter pour publier un commentaire.
Je pense que je préférerais
select_dtypes
sur_get_numeric_data
:Bien appliquer n'offre pas la place, vous pourriez faire quelque chose comme ce qui suit (je dirais a été plus explicite de toute façon):