将熊猫系列转换为numpy数组[重复]
Posted
技术标签:
【中文标题】将熊猫系列转换为numpy数组[重复]【英文标题】:Convert pandas series into numpy array [duplicate] 【发布时间】:2017-10-29 13:04:27 【问题描述】:我是 pandas 和 python 的新手。我的输入数据是这样的
category text
1 hello iam fine. how are you
1 iam good. how are you doing.
inputData= pd.read_csv(Input', sep='\t', names=['category','text'])
X = inputData["text"]
Y = inputData["category"]
这里 Y 是熊猫系列对象,我想将其转换为 numpy 数组。所以我尝试了 .as_matrix
YArray= Y.as_matrix(columns=None)
print YArray
但我得到的输出为 [1,1](这是错误的,因为我只有一个列类别和两行)。我希望结果为 2x1 矩阵。
【问题讨论】:
.values
将被避开,取而代之的是从 v0.24.0 开始的两种新方法。见this answer.
【参考方案1】:
要获取numpy数组,你需要
Y.values
【讨论】:
当我执行 Y.values() 时,它会抛出 TypeError: 'numpy.ndarray' object is not callable @vishnu 这是一个属性,而不是一个方法。 谢谢。但重塑对我有用! @vishnu 不确定原始帖子是否根据您的评论更新,但方法是执行 Y.values,而不是 Y.values()。【参考方案2】:试试这个: 在您的系列对象上应用 .as_matrix 后
Y.reshape((2,1))
因为 .as_matrix() 只返回一个 numpy-array 而不是一个 numpy-matrix。 Link here
【讨论】:
reshape 已弃用,请改用 Y.values.reshape(2,1)。【参考方案3】:如果 df 是您的数据框,则数据框的一列是一个系列并将其转换为数组,
df = pd.DataFrame()
x = df.values
print(x.type)
以下打印,
<class 'numpy.ndarray'>
成功将其转换为数组。
【讨论】:
以上是关于将熊猫系列转换为numpy数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何将包装为字符串的向量转换为熊猫数据框中的numpy数组?