Получение странной ошибки при вычислении z-оценки

я хочу рассчитать z-оценку всего моего набора данных. Я пробовал два типа кода, но, к сожалению, они оба дали мне одну и ту же ошибку. мой 1 код здесь:

zee=stats.zscore(df)
print(zee)

мой 2 код:

from scipy import stats
import numpy as np
z = np.abs(stats.zscore(df))
print(z)

я использую юпитер

Ошибка, которую я получил:

-----
TypeError                                 Traceback (most recent call last)
<ipython-input-23-ef429aebacfd> in <module>
      1 from scipy import stats
      2 import numpy as np
----> 3 z = np.abs(stats.zscore(df))
      4 print(z)

~/.local/lib/python3.8/site-packages/scipy/stats/stats.py in zscore(a, axis, ddof, nan_policy)
   2495         sstd = np.nanstd(a=a, axis=axis, ddof=ddof, keepdims=True)
   2496     else:
-> 2497         mns = a.mean(axis=axis, keepdims=True)
   2498         sstd = a.std(axis=axis, ddof=ddof, keepdims=True)
   2499 

~/.local/lib/python3.8/site-packages/numpy/core/_methods.py in _mean(a, axis, dtype, out, keepdims)
    160     ret = umr_sum(arr, axis, dtype, out, keepdims)
    161     if isinstance(ret, mu.ndarray):
--> 162         ret = um.true_divide(
    163                 ret, rcount, out=ret, casting='unsafe', subok=False)
    164         if is_float16_result and out is None:

TypeError: unsupported operand type(s) for /: 'str' and 'int' 

а здесь информация о моем фрейме данных, если с моей фермой данных что-то не так.

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 100 entries, 0 to 99
Data columns (total 14 columns):
 #   Column          Non-Null Count  Dtype  
---  ------          --------------  -----  
 0   Region          100 non-null    object 
 1   Country         100 non-null    object 
 2   Item Type       100 non-null    object 
 3   Sales Channel   100 non-null    object 
 4   Order Priority  100 non-null    object 
 5   Order Date      100 non-null    object 
 6   Order ID        100 non-null    int64  
 7   Ship Date       100 non-null    object 
 8   Units Sold      100 non-null    int64  
 9   Unit Price      100 non-null    float64
 10  Unit Cost       100 non-null    float64
 11  Total Revenue   100 non-null    float64
 12  Total Cost      100 non-null    float64
 13  Total Profit    100 non-null    float64
dtypes: float64(5), int64(2), object(7)
memory usage: 11.1+ KB

заранее спасибо.

ну, из трассировки кажется, что вы пытаетесь вычислить z-счет для столбца, который является либо str, либо смешанным (str и float), а не int / float. проверьте свой набор данных

help-ukraine-now 24.12.2020 08:53
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
648
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваш df содержит значения, отличные от float/int, попробуйте отправить в функцию zscore только столбцы int/float.

stats.zscore(df[['Unit Cost', 'Total Revenue', 'Total Cost', 'Total Profit']])

Другие вопросы по теме