当前位置: 首页 > 知识库问答 >
问题:

正在将索引转换为numpy数组。Python[重复]

东郭良弼
2023-03-14

我想将数据帧的索引列转换为数组,但我不确定如何进行。我已经将第二列转换为数组,但由于某些原因,它在第一列上也不起作用。以下是我尝试转换索引列的方式:

time = df1.as_matrix(columns = df1.columns[:,0])

但我得到了

too many indices for array

这是我的数据框

df1
Out[13]: 
                                 0
2015-11-19 23:59:54.500 -20.186533
2015-11-19 23:59:54.625 -20.272575
2015-11-19 23:59:54.750 -20.185249
2015-11-19 23:59:54.875 -20.247126
2015-11-19 23:59:55.000 -20.205975
2015-11-19 23:59:55.125 -20.281376
2015-11-19 23:59:55.250 -20.238962
2015-11-19 23:59:55.375 -20.300100
2015-11-19 23:59:55.500 -20.311625
2015-11-19 23:59:55.625 -20.264126
2015-11-19 23:59:55.750 -20.266762
2015-11-19 23:59:55.875 -20.224825
2015-11-19 23:59:56.000 -20.211288
2015-11-19 23:59:56.125 -20.163288
2015-11-19 23:59:56.250 -20.254587
2015-11-19 23:59:56.375 -20.125738
2015-11-19 23:59:56.500 -20.146749
2015-11-19 23:59:56.625 -20.161976
2015-11-19 23:59:56.750 -20.126276
2015-11-19 23:59:56.875 -20.082863
2015-11-19 23:59:57.000 -20.030237
2015-11-19 23:59:57.125 -20.098312
2015-11-19 23:59:57.250 -20.146214
2015-11-19 23:59:57.375 -20.030476
2015-11-19 23:59:57.500 -20.018661
2015-11-19 23:59:57.625 -20.029900
2015-11-19 23:59:57.750 -19.970963
2015-11-19 23:59:57.875 -19.994637
2015-11-19 23:59:58.000 -20.097612
2015-11-19 23:59:58.125 -19.952700

共有3个答案

丁和歌
2023-03-14

根据pandas 0.24.x发行说明:“已添加Series.array和Index.array以提取支持序列或索引的数组……我们没有删除或弃用Series.values或DataFrame.values,但强烈建议使用.array.to_numpy()。”

看起来此主要版本更新正符合您的需要:)

阎功
2023-03-14

尝试时间=df1.as_matrix(列=df1.columns[0:1])。看起来列应该是一个一维数组(实际上是一个Index),给一维数组两个索引会导致这个错误。

蓝宜
2023-03-14

你可以只做df.index.values

df = pd.DataFrame(index=['a', 'b', 'c'])

df.index.values
# array(['a', 'b', 'c'], dtype=object)
 类似资料:
  • 问题内容: 你是否知道如何以NumPy数组或python列表的形式获取DataFrame的索引或列? 问题答案: 要获取NumPy数组,应使用以下属性: 这样可以访问数据的存储方式,因此无需进行转换。 注意:此属性也可用于其他许多熊猫的对象。 要将索引作为列表获取,请致电tolist: 同样,对于列。

  • 我的df中有3列 如何将其转换为矩阵?我试过了 但这并没有给出一个矩阵

  • 问题内容: 假设我有一个一维numpy数组 我想将此编码为2D一热阵列 有快速的方法吗?比循环遍历设置元素更快。 问题答案: 您的数组定义了输出数组中非零元素的列。您还需要定义行,然后使用花式索引:

  • 假设我有一个1d numpy数组 我想将其编码为一个2D one hot数组 有没有快速的方法可以做到这一点?比仅仅在上循环设置的元素更快。

  • 问题内容: 假设我有一个彩色图像,这自然将由python中的3维数组表示,例如形状(nxmx 3),并将其称为img。 我想要一个新的二维数组,将其称为“ narray”,其形状为(3,nxm),以便该数组的每一行分别包含R,G和B通道的“扁平化”版本。而且,它应该具有这样的属性:我可以通过类似以下方法轻松地重建任何原始通道 问题是如何从“ img”构造“ narray”?简单的img.resha

  • 以下是一个数据帧 它需要转换成一个Numpy数组,其中成为Numpy数组的索引,成为相应的值。 即,,等等。 如何做到这一点?