Можно ли использовать функцию scipy, например norm.cdf
на месте на numpy.array
(или pandas.DataFrame
), используя вариант numpy.apply
, numpy.apply_along_axs
и т.д.
В фоновом режиме у меня есть таблица значений z-score, которые я бы хотел преобразовать в значения CDF для распределения нормы. В настоящее время я использую norm.cdf
от scipy
.
В настоящее время я манипулирую с фреймворком данных, который имеет нечисловые значения.
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
(Сделать переменную Name
индексом является решением, но в моем фактическом наборе данных имена не являются алфавитными символами.)
Чтобы изменить только числовые данные, я использую df._get_numeric_data()
частную функцию, которая возвращает dataframe, содержащий числовые данные dataframe. Однако нет функции set
. Следовательно, если я называю
norm.cdf(df._get_numeric_data)
это не изменит исходные данные df
.
Я пытаюсь обойти это, применяя norm.cdf
к числовому файлу данных inplace, поэтому это меняет исходный набор данных.