[英]ufunc 'add' did not contain a loop with signature matching types dtype('<U23') dtype('<U23') dtype('<U23')
When trying to convert the sklearn dataset into pandas dataframe by the following code I am getting this error "ufunc 'add' did not contain a loop with signature matching types dtype(' 当尝试通过以下代码将sklearn数据集转换为pandas数据帧时,出现此错误“ ufunc'add'不包含签名匹配类型为dtype('的循环”
import numpy as np
from sklearn.datasets import load_breast_cancer
import numpy as np
cancer = load_breast_cancer()
data = pd.DataFrame(data= np.c_[cancer['data'], cancer['target']],columns= cancer['feature_names'] + cancer['target'])
Here is how I converted the sklearn dataset to a pandas dataframe. 这是我将sklearn数据集转换为熊猫数据框的方式。 The target column name needs to be appended.
目标列名称需要附加。
bostonData = pd.DataFrame(data= np.c_[boston['data'], boston['target']],
columns= np.append(boston['feature_names'],['target']))
You have numpy array of strings please provide full error therefore we figure out what's missing; 您有numpy个字符串数组,请提供完整的错误,因此我们可以找出丢失的内容;
For example I am assuming you got dtype('U9'), please add; 例如,我假设您有dtype('U9'),请添加;
dtype=float
into your array. dtype=float
进入您的数组。 Something like not certain; 不确定的东西
data = pd.DataFrame(data= np.c_[cancer['data'], cancer['target']],columns= cancer['feature_names'] + cancer['target'], dtype=float)
Sometimes it's just easier to keep it simple. 有时候,保持简单就容易些。 Create a DF for both data and target, then merge using pandas.
为数据和目标创建DF,然后使用熊猫合并。
data_df = pd.DataFrame(data=cancer['data'] ,columns=cancer['feature_names'])
target_df = pd.DataFrame(data=cancer['target'], columns=['target']).reset_index(drop=True)
target_df.rename_axis(None)
df = pd.concat([data_df, target_df], axis=1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.