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

尝试将列设置为数据帧中的索引时出错

岳劲
2023-03-14

我有以下代码:

A = pd.DataFrame([[1, 2], [1, 3], [4, 6]], columns=[['att1', 'att2']])
A['idx'] = ['a', 'b', 'c']
A

这工作正常,直到我这样做(试图设置列'idx'作为索引的数据帧)

A.set_index('idx', inplace=True)

这会引发一个错误

TypeError: only integer scalar arrays can be converted to a scalar index

这是什么意思?

共有1个答案

刘凡
2023-03-14

错误是当您创建A

columns = [['att1', 'att2']]

如果打印A.columns,您将获得:

MultiIndex([('att1',),
            ('att2',),
            ( 'idx',)],
           )

因此,“idx”实际上不在您的列中,您无法设置索引。现在,这将起作用:

A.set_index(('idx',))

并给予:

       att1 att2
(idx,)          
a         1    2
b         1    3
c         4    6

但是,您应该只使用以下方法来修复您创建的A

columns = ['att1', 'att2']
 类似资料:
  • 我有一个多索引数据框(索引和)如下: 我想将转换为以下内容(其中索引转换为列,其中为值,保留为索引): 我一直在努力做到这一点,但还没走多远。

  • 尝试以这种方式访问pandas数据帧中的单个元素时出错test_df[“LABEL”][0]。以下是关于如何加载数据的代码片段: 以下是我得到的错误: 文件“code.py”,第80行,在getitem result=self.index.get_value(self,key)文件“/usr/local/lib/python2.7/dist-packages/pandas/core/series.

  • 我有一个名为的DataFrame,它具有混合类型的列。我正在尝试将的列的任何空值设置为。我认为下面的代码可以工作,但事实并非如此。 我正在查看错误消息,它并没有给我多少线索: Traceback(最近的最后一次调用):File",第1行,在File"/usr/lib/python2.7/site-pack/pyspark/sql/column.py",第116行,在_njc=getattr(自身_

  • 我有两个形状相同的python数据帧,例如: 我想使用df2中的值作为行索引来选择df1中的值,并创建一个形状相等的新数据帧。预期结果: 我已尝试使用.loc,它在单个列中运行良好: 但是我不能同时在所有列上使用. loc或. iloc。我想避免循环来优化性能,因为我正在处理一个大数据帧。有什么想法吗?

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

  • 问题内容: 对于matlpotlib来说我还很陌生,我发现刻度线定位器和标签令人困惑,所以请多多包涵。我发誓我已经搜寻了几个小时。 我有一个这样的数据框“框架”(相关列): 其中,工作日名称是索引,而工作日编号是一列。此框架中没有日期时间对象。 我把这个变成了一个数字。 我需要将x轴用作数值,因为我想稍后添加一个散点图,这对于字符串值是不可能的。 这样可以 所以基本上我希望我的xticks是“ d