python - 在numpy中将一维数组膨胀为二维数组

标签 python numpy pandas

假设我有一个一维数组:

import numpy as np
my_array = np.arange(0,10)
my_array.shape
(10, )

在 Pandas 中,我想使用这个数组创建一个只有一行和 10 列的 DataFrame。例如:

import pandas as pd
import random, string
# Random list of characters to be used as columns
cols = [random.choice(string.ascii_uppercase) for x in range(10)]

但是当我尝试时:

pd.DataFrame(my_array, columns = cols)

我得到:

ValueError: Shape of passed values is (1,10), indices imply (10,10)

我认为这是因为 Pandas 需要一个二维数组,而我有一个(平面)一维数组。有没有办法将我的一维数组扩展为二维数组,或者让 Panda 在创建数据帧时使用一维数组?

注意:我使用的是最新的稳定版 Pandas (0.11.0)

最佳答案

您的值数组的长度为 9(值从 1 到 9),而您的 cols 列表的长度为 10。

我不明白你的错误信息,根据你的代码,我得到:

ValueError: Shape of passed values is (1, 9), indices imply (10, 9)

这是有道理的。

尝试:

my_array = np.arange(10).reshape(1,10)

cols = [random.choice(string.ascii_uppercase) for x in range(10)]

pd.DataFrame(my_array, columns=cols)

结果是:

   F  H  L  N  M  X  B  R  S  N
0  0  1  2  3  4  5  6  7  8  9

关于python - 在numpy中将一维数组膨胀为二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16282127/

相关文章:

python - 覆盖 SQL Alchemy ORM 过滤条件

python - 如何在同一张表中使用第一级和第二级聚合进行透视

python - Python 字典的内存高效 HashMap 替代方案(整数到整数)

python - 缺少依赖项在 Windows 7 上为 Python 3.4.1 32 位安装 NumPy 1.9

Python Pandas 去除异常值与 Nan 异常值

python-3.x - 检查数字范围并在 pandas 数据框中的新列中写入值

python - 数据框应用不接受轴参数

python - 哪些单词在数据集中经常一起出现?

python - Jupyter笔记本空闲锁定 Redshift 表

javascript - 无法访问 Django + Angular 项目中的服务器媒体文件