gpt4 book ai didi

python - Pandas DataFrame 到 Numpy 数组 ValueError

转载 作者:行者123 更新时间:2023-11-28 22:42:23 25 4
gpt4 key购买 nike

我正在尝试将数据帧的单列转换为 numpy 数组。转换整个数据框没有问题。

df

  viz  a1_count  a1_mean     a1_std
0 0 3 2 0.816497
1 1 0 NaN NaN
2 0 2 51 50.000000

这两个函数都可以正常工作:

X = df.as_matrix()
X = df.as_matrix(columns=df.columns[1:])

但是,当我尝试时:

y = df.as_matrix(columns=df.columns[0])

我得到:

TypeError: Index(...) must be called with a collection of some kind, 'viz' was passed

最佳答案

这里的问题是你只传递了一个元素,在本例中它只是该列的字符串标题,如果你将它转换为一个包含单个元素的列表,那么它就可以工作了:

In [97]:
y = df.as_matrix(columns=[df.columns[0]])
y

Out[97]:
array([[0],
[1],
[0]], dtype=int64)

这是你传递的内容:

In [101]:
df.columns[0]

Out[101]:
'viz'

所以它等同于:

y = df.as_matrix(columns='viz')

导致同样的错误

docs显示预期的参数:

DataFrame.as_matrix(columns=None) Convert the frame to its Numpy-array representation.

Parameters: columns: list, optional, default:None If None, return all columns, otherwise, returns specified columns

关于python - Pandas DataFrame 到 Numpy 数组 ValueError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31791476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com