python从列表中删除数据帧

python从列表中删除数据帧,python,indexing,pandas,dataframe,Python,Indexing,Pandas,Dataframe,如何从以下列表中创建熊猫数据帧: ls= \ [['41457', 'PRE', '533', '887', '1/3/1978', '2/1/2008', '[REL]', '217', '197800000003'],\ ['41458', 'PRE', '533', '887', '1/3/1978', '2/1/2008', '[REL]', '217', '197800000004'],\ ['41460', 'PRE', '780', '887', '1/3/1978', '2/1/

如何从以下列表中创建熊猫数据帧:

ls= \
[['41457', 'PRE', '533', '887', '1/3/1978', '2/1/2008', '[REL]', '217', '197800000003'],\
['41458', 'PRE', '533', '887', '1/3/1978', '2/1/2008', '[REL]', '217', '197800000004'],\
['41460', 'PRE', '780', '887', '1/3/1978', '2/1/2008', '[D/T]', '217', '197800000006'],\
['41461', 'PRE', '780', '887', '1/3/1978', '2/1/2008', '[D/T]', '217', '197800000007'],\
['41462', 'PRE', '645', '887', '1/3/1978', '2/1/2008', '[AGREE]', '217', '197800000008'],\
['41463', 'PRE', '645', '887', '1/3/1978', '2/1/2008', '[AGREE]', '217', '197800000009'],\
['41464', 'PRE', '645', '887', '1/3/1978', '2/1/2008', '[AGREE]', '217', '197800000010'],\
['41465', 'PRE', '645', '887', '1/3/1978', '2/1/2008', '[AGREE]', '217', '197800000011'],\
['41489', 'PRE', '533', '887', '1/3/1978', '2/1/2008', '[REL]', '492', '197800000035']]

第一个元素是'41457','41458''41489'作为索引。

您只需将列表传递给
DataFrame
构造函数,然后使用列名设置索引:

In [5]: df = pd.DataFrame(ls).set_index(0)

In [6]: df
Out[6]: 
         1    2    3         4         5        6    7             8
0                                                                   
41457  PRE  533  887  1/3/1978  2/1/2008    [REL]  217  197800000003
41458  PRE  533  887  1/3/1978  2/1/2008    [REL]  217  197800000004
41460  PRE  780  887  1/3/1978  2/1/2008    [D/T]  217  197800000006
41461  PRE  780  887  1/3/1978  2/1/2008    [D/T]  217  197800000007
41462  PRE  645  887  1/3/1978  2/1/2008  [AGREE]  217  197800000008
41463  PRE  645  887  1/3/1978  2/1/2008  [AGREE]  217  197800000009
41464  PRE  645  887  1/3/1978  2/1/2008  [AGREE]  217  197800000010
41465  PRE  645  887  1/3/1978  2/1/2008  [AGREE]  217  197800000011
41489  PRE  533  887  1/3/1978  2/1/2008    [REL]  492  197800000035
请注意,除非您提供列名,否则列仅为数字(请注意,您指定的是列名,而不是索引,因此现在为“a”):


真正的解决办法是首先不要将其作为列表:)
In [7]: df = pd.DataFrame(ls, columns=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']).set_index('a')

In [8]: df
Out[8]: 
         b    c    d         e         f        g    h             i
a                                                                   
41457  PRE  533  887  1/3/1978  2/1/2008    [REL]  217  197800000003
41458  PRE  533  887  1/3/1978  2/1/2008    [REL]  217  197800000004
41460  PRE  780  887  1/3/1978  2/1/2008    [D/T]  217  197800000006
41461  PRE  780  887  1/3/1978  2/1/2008    [D/T]  217  197800000007
41462  PRE  645  887  1/3/1978  2/1/2008  [AGREE]  217  197800000008
41463  PRE  645  887  1/3/1978  2/1/2008  [AGREE]  217  197800000009
41464  PRE  645  887  1/3/1978  2/1/2008  [AGREE]  217  197800000010
41465  PRE  645  887  1/3/1978  2/1/2008  [AGREE]  217  197800000011
41489  PRE  533  887  1/3/1978  2/1/2008    [REL]  492  197800000035