Pandas数据帧只有一列,但实际上它有多列

2024-06-16 11:39:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做的是按IRI\ U键对数据进行排序,但遇到了一些问题 因为当我尝试

Z['IRI_KEY']
KeyError: u'no item named IRI_KEY'

它告诉我他们没有IRIèU键,但实际上有

所以我试着看那里的阵列

我的数据没有csv这样的特定类型

mayo_groc = 'mayo_groc_1322_1373'
Z = pd.read_table(mayo_groc,sep=',', warn_bad_lines=True, error_bad_lines=True)
Z

       IRI_KEY WEEK SY GE VEND  ITEM  UNITS DOLLARS  F    D PR
  0    234212 1322  0  1 21000 77742    18    54.00 ...     
  1    234212 1322  0  1 21000 64005    11    30.69 ...     
  2    234212 1322  0  1 21000 64012     8    30.32 ...     
  3    234212 1322  0  1 21000 64508    13    38.87 ...     
  4    234212 1322  0  1 21000 77749    14    42.00 ...     
  5    234212 1322  0  1 21000 64004    14    39.06 ...     
  6    234212 1322  0  1 21000 64507    11    32.89 ...     
  7    234212 1322  0  1 21000 64512     6    22.74 ...     
  8    234212 1322  0  1 21000 64591     5    13.45 ...     
  9    234212 1322  0  1 21000 64510    14    41.86 ... 

[2444224行x 1列]

为什么只有一列? 我怎样才能解决这个问题?你知道吗

以下是实际数据示例 它没有任何扩展名,所以我用vi命令读取它

vi mayo_groc_1322_1373

IRI_KEY WEEK SY GE VEND  ITEM  UNITS DOLLARS  F    D PR
 234212 1322  0  1 21000 77742    18    54.00 B    0 0
 234212 1322  0  1 21000 64005    11    30.69 NONE 0 0
 234212 1322  0  1 21000 64012     8    30.32 NONE 0 1
 234212 1322  0  1 21000 64508    13    38.87 NONE 0 0
 234212 1322  0  1 21000 77749    14    42.00 B    0 1
 234212 1322  0  1 21000 64004    14    39.06 NONE 0 0
 234212 1322  0  1 21000 64507    11    32.89 NONE 0 0
 234212 1322  0  1 21000 64512     6    22.74 A    0 1

Tags: 数据keynonetrueitembadlinesunits
1条回答
网友
1楼 · 发布于 2024-06-16 11:39:21

看起来您的数据不是“逗号分隔”,而是“空格分隔”。你试过:

df = pd.read_csv('path/to/your/file', delim_whitespace=True)

例如:

from StringIO import StringIO

text = """IRI_KEY WEEK SY GE VEND  ITEM  UNITS DOLLARS  F    D PR
 234212 1322  0  1 21000 77742    18    54.00 B    0 0
 234212 1322  0  1 21000 64005    11    30.69 NONE 0 0
 234212 1322  0  1 21000 64012     8    30.32 NONE 0 1
 234212 1322  0  1 21000 64508    13    38.87 NONE 0 0
 234212 1322  0  1 21000 77749    14    42.00 B    0 1
 234212 1322  0  1 21000 64004    14    39.06 NONE 0 0
 234212 1322  0  1 21000 64507    11    32.89 NONE 0 0
 234212 1322  0  1 21000 64512     6    22.74 A    0 1"""

filelike = StringIO(text)

df = pd.read_csv(filelike, delim_whitespace=True)

相关问题 更多 >