Ошибка типа: ufunc 'true_divide' output (typecode 'd') не может быть принудительно приведен к предоставленному выходному параметру (typecode 'q') - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь применить реализацию расстояния Gower к моему фрейму данных.Хотя он работал с одним и тем же набором данных с большим количеством функций, на этот раз он вызывает ошибку, когда я вызываю функцию расстояния Gower.Я импортирую функцию Гауэра из другого .py кода в том же каталоге.Вот мой код:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

import gower_function as gf

# Importing the dataset with pandas
dataset = pd.read_excel('input_partial.xlsx')
X = dataset.iloc[:, 1:].values
df = pd.DataFrame(X)
#obtaining gower distances of instances
Gower = gf.gower_distances(X)

и после выполнения этого я получил ошибку ниже:

File "<ipython-input-10-6a4c39600b0e>", line 1, in <module>
Gower = gf.gower_distances(X)

File "C:\Users\...\Clustering\Section 24 - K-Means 
Clustering\gower_function.py", line 184, in gower_distances
X_num = np.divide(X_num ,max_of_numeric,out=np.zeros_like(X_num), 
where=max_of_numeric!=0)

TypeError: ufunc 'true_divide' output (typecode 'd') could not be coerced to 
provided output parameter (typecode 'q') according to the casting rule 
''same_kind''

Я не понял, как он может выдать эту ошибку на том же наборе данных только сменьше функций (столбцов).Есть ли кто-нибудь, кто может распознать причину?

...