Python 将Pandas Dataframe转换为sklearn的numpy

Python 将Pandas Dataframe转换为sklearn的numpy,python,numpy,pandas,scikit-learn,Python,Numpy,Pandas,Scikit Learn,我对python和sklearn还不熟悉。我有一个泰坦尼克号数据集的熊猫数据框架。我想把它用于逻辑预测 我尝试了以下方法 data_np = data.astype(np.int32).values 但不起作用。我想利用数据集中的不同功能,如“Pclass”、“Age”、“Sex”等 我想将整个数据以及单个列(比如data[“Age”])转换为sklearn numpy格式。任何帮助。< P>处理你的数值和非数值数据,考虑使用,允许你 使用0到n_class-1之间的值对标签进行编码 另见:

我对python和sklearn还不熟悉。我有一个泰坦尼克号数据集的熊猫数据框架。我想把它用于逻辑预测

我尝试了以下方法

data_np = data.astype(np.int32).values
但不起作用。我想利用数据集中的不同功能,如“Pclass”、“Age”、“Sex”等

我想将整个数据以及单个列(比如data[“Age”])转换为sklearn numpy格式。任何帮助。

< P>处理你的数值和非数值数据,考虑使用,允许你

使用0到n_class-1之间的值对标签进行编码

另见:


分类变量,如“性别”和“性别”,需要进行热编码,才能在
逻辑回归模型中使用它们。有了熊猫,你可以使用
get_dummies(data['Sex'])

这里有一个完整的教程专门介绍了同一数据集上的此问题:


这是一个常见的问题。主要原因是对numpy不熟悉

要将数据['Sex']的特征转换为凹凸数组,请使用以下代码

from sklearn.preprocessing import LabelEncoder

enc = LabelEncoder()
label_encoder = enc.fit(p_train['Sex'])
print "Categorical classes:", label_encoder.classes_
integer_classes = label_encoder.transform(label_encoder.classes_)
print "Integer classes:", integer_classes
x_train = label_encoder.transform(p_train['Sex'])
x_test = label_encoder.transform(p_test['Sex'])

x_train = x_train[:,np.newaxis]
x_test = x_test[:,np.newaxis]

这里,我们基本上是将“男性”和“女性”分类数据转换为0和1的整数类。这是基本要素,巩膜希望一切都是浮动的。np.newaxis用于将x_序列的形状从(n_特征,)转换为(n_特征,1)。否则,在拟合模型时,您将出现另一个形状不兼容的错误。

能否发布不起作用的代码,因为dfs与sklearn兼容,因此无需转换数据,有时您可能需要将数据作为nunpy数组进行访问,这可以通过使用
来完成。值
也许您想看看
sklearn pandas
(),它提供了将graphlab SFrame转换为pandas之间的桥梁。代码太大了。问题是,在我传递给sklearn fit函数的性别类别中,它有“男性”和“女性”值。我得到以下错误。。。。返回数组(a,dtype,copy=False,order=order)值错误:无法将字符串转换为浮点值:malesklearn通常期望值为浮点值,因此您不能将字符串作为值传递,因此必须将字符串转换为数值,例如
0
1
这是pandas和numpy之间的一大摩擦。我不明白这为什么没有简化。我擅长建模和线性代数,但在这些细节上浪费了太多时间,这些细节是关于如何提取熊猫数据,并以sklearn可以接受的方式格式化数据。