gpt4 book ai didi

python - 从 pandas DataFrame : stuck to dtype object 获取矩阵

转载 作者:太空宇宙 更新时间:2023-11-04 10:16:08 25 4
gpt4 key购买 nike

当 DataFrame 必须在没有任何值的情况下进行初始化时(因为每列的维度然后是未知的),我们如何将 pandas.DataFrame 值提取为矩阵:

例如:

from pandas import DataFrame
df = DataFrame()
df = df.append(dict(foo=np.ones(2), bar=np.ones(3)), ignore_index=True) # without ignore it crashes
df = df.append(dict(foo=np.zeros(2), bar=np.zeros(3)), ignore_index=True)
print(df)

输出:

          bar              foo
0 [1.0, 1.0] [1.0, 1.0, 1.0]
1 [0.0, 0.0] [0.0, 0.0, 0.0]

我很难将每一列的数据(barfoo)作为我可以切片的 numpy 矩阵(理想情况下:df['bar'][: , 2]).事实上,它目前仍然是一个 dtype=object 的 numpy 数组。

df['foo'].as_matrix()
Out: array([array([ 0., 0., 0.]), array([ 1., 1., 1.])], dtype=object)

最佳答案

您的问题是,您进行初始化的方式实际上并没有创建值的 DataFrame,而是创建了 numpy 数组的 DataFrame,正如您在 df.shape 中看到的那样,这是 (2,1) 而不是 (2,3)。

我不清楚您实际上希望数组是什么,因为您首先创建一个名为 foo 的列,该列具有一个值(数组)。如果您想创建显示的 DataFrame(一个 2x3 数组),您需要执行类似以下操作:

df = DataFrame(np.zeros((1,3)))
df = df.append( DataFrame(np.ones((1,3))), ignore_index=True )

现在您可以执行 df.ix[:,1]df.as_matrix() 等。

关于python - 从 pandas DataFrame : stuck to dtype object 获取矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35330387/

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