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

从Numpy数组创建一个Pandas DataFrame:如何指定索引、列和列头?

戚学
2023-03-14

我有一个Numpy数组,由一系列列表组成,表示一个二维数组,其中包含行标签和列名,如下所示:

data = array([['','Col1','Col2'],['Row1',1,2],['Row2',3,4]])
df = pd.DataFrame(data,index=data[:,0]),

但是,我不确定如何最好地分配列标题。

共有1个答案

柯昆杰
2023-03-14

您需要将数据索引指定为dataframe构造函数,如下所示:

>>> pd.DataFrame(data=data[1:,1:],    # values
...              index=data[1:,0],    # 1st column as index
...              columns=data[0,1:])  # 1st row as the column names

Edit:与@joris注释一样,您可能需要将上面的内容更改为np.int_(data[1:,1:])以获得正确的数据类型。

 类似资料:
  • 问题内容: 我有一个由列表列表组成的Numpy数组,代表带有行标签和列名的二维数组,如下所示: 我希望所得的DataFrame将Row1和Row2作为索引值,并将Col1,Col2作为标头值 我可以指定索引如下: 但是我不确定如何最好地分配列标题。 问题答案: 您需要指定,并以构造函数,如: 编辑 :如@joris注释中所示,您可能需要更改上述内容才能具有正确的数据类型。

  • 问题内容: 我想创建一个numpy数组,其中每个元素必须是一个列表,因此以后我可以向每个元素追加新元素。 我已经看过谷歌,这里已经有堆栈溢出,但是似乎找不到地方。 主要问题是numpy假定您的列表必须成为数组,但这不是我要的。 问题答案: 如您所见,在给出类似以下内容时,尝试创建2d数组 您已应用了一些技巧来解决此默认行为。 一种是使子列表的长度可变。它不能从这些数组中生成2d数组,因此它求助于对

  • 问题内容: 给定一个数组: 并给出其索引: 如何将它们整齐地堆叠在一起以形成新的2D​​阵列?这就是我想要的: 这是我目前的解决方案: 它可以工作,但是执行此操作是否更短/更优雅? 问题答案: 在随后的步骤中使用然后分配索引和数组值- 请注意,我们避免使用,这可能会减慢速度。 样品运行- 性能 注意: 时间包括转换到数据帧,这是该解决方案的最终用例。

  • 问题内容: 我有一个奇怪的情况。 我有一个2D Numpy数组,x: 我有2个索引器-一个索引为行,一个索引为列。为了索引X,我必须执行以下操作: 不仅仅是: (失败:错误,无法通过(2,)广播(20,)) 我希望能够使用广播在一行中建立索引,因为这样可以使代码保持干净和可读性…而且,我对幕后的python并不太了解,但是据我了解它,它在一行中应该更快(我将使用相当大的数组)。 测试用例: 问题答

  • 我有一个数据框,我正在使用TIA来填充彭博社的数据。当我看着df。索引我看到我打算成为列的数据以多索引的形式呈现给我。df的输出。列是这样的: 索引([u'column1','u'column2']) 我尝试过各种reset_index的迭代,但都无法补救这种情况。 1) TIA管理器如何使数据帧列作为索引读入? 2) 如何正确地将这些列标识为列而不是多索引? 我试图解决的最终问题是,当我尝试将此

  • 问题内容: 我需要为InvoiceID生成一列。我想像这样保留本专栏的内容 如您所见,此列随着上一个索引的增加而增加。我怎样才能做到这一点。 我正在使用SQL Server 2012。 我已经搜索了,但找不到如何增加这样的数字。 问题答案: 尝试使用 MSDN SQLFIDDLE演示 关于为什么你需要让你的计算列的详细信息 检查 这里