我試圖使用這段代碼將包gower_matrix中的函數(shù)應(yīng)用gower到字典的值:import gowerimport pandas as pdfrom itertools import chain, combinationsfrom pydataset import datafrom toolz.dicttoolz import valmapcars = data('mtcars')vnames=cars.columnsdef powerset(iterable): "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)" s = list(iterable) return chain.from_iterable(combinations(s, r) for r in range(1,len(s)+1))combos=list(powerset(vnames))combos=list(map(list, list(powerset(vnames))))combo_dicts = {}keys = range(len(combos))for i in keys: combo_dicts[i] = cars[combos[i]] gower_dicts = valmap(gower.gower_matrix, combo_dicts)但我收到以下錯(cuò)誤TypeError: ufunc 'true_divide' output (typecode 'd') could not be coerced to provided output parameter (typecode 'q') according to the casting rule ''same_kind''將其應(yīng)用于特定的字典項(xiàng)目是可行的gower.gower_matrix(combo_dicts[100])array([[0. , 0.02173357, 0.19395797, ..., 0.12646227, 0.35655078, 0.11454861], [0.02173357, 0. , 0.21569154, ..., 0.12262693, 0.3348172 , 0.10900868], [0.19395797, 0.21569154, 0. , ..., 0.32042024, 0.55050874, 0.10668287], ..., [0.12646227, 0.12262693, 0.32042024, ..., 0. , 0.23008852, 0.21544196], [0.35655078, 0.3348172 , 0.55050874, ..., 0.23008852, 0. , 0.44382587], [0.11454861, 0.10900868, 0.10668287, ..., 0.21544196, 0.44382587, 0. ]], dtype=float32)對(duì)這個(gè)問題有什么想法嗎?
將函數(shù)應(yīng)用于字典值不起作用
ibeautiful
2023-07-11 14:54:31