我对Python中的数据帧和numpy数组有疑问。当我们使用pandas读取任何csv文件时,它存储在数据帧中。在数据操作,以列等方式查看数据时,Dataframe非常有用。但是,一些预处理函数(如Imputer)不适用于Dataframe。对于这些函数,我们必须在numpy数组中获取数据,这使得数据操作变得困难 在下面的代码中,当y存储为int64数组时,X是numpy模块的ndarray对象。我不能在X上使用追加功能。任何人都可以建议如何纠正这个
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
dataset = pd.read_csv('titanic.csv')
y = dataset.iloc[:,1].values
X= dataset.iloc[:,2:12].values
答案 0 :(得分:0)
你真的应该给我们更多关于你想要/期望的信息,但是我的猜测是这样的:
In [6]: Y=np.arange(3) # 1d
In [7]: X=np.arange(12).reshape(3,4) # 2d
In [8]: np.column_stack([Y,X])
Out[8]:
array([[ 0, 0, 1, 2, 3],
[ 1, 4, 5, 6, 7],
[ 2, 8, 9, 10, 11]])
这应该与
相同dataset.iloc[:,[1,2,3,...12]].values
虽然为什么你没有dataset.iloc[:,1:12]
?