2017-02-25 77 views
-3
import pandas as pd 

当我运行下面的语句下面的语句...困惑与蟒蛇

第一不工作:

In [1]: pd.DataFrame([[1,4],(0,1)]) 
... 
TypeError: Expected list, got tuple 

,而第二工作:

In [2]: pd.DataFrame([(1,0),[3,8]]) 
Out[2]: 
    0 1 
0 1 0 
1 3 8 

我我试图从主列表中的元组/列表中创建一个数据帧。

+3

你所说的“并不意味着什么加工”?另外...'将python导入为pd'?你确定? – Bakuriu

+0

'进口熊猫作为PD' – hashcode55

+0

嗨。这是一个错误的抱歉。实际上,当我运行第一条语句时,它会抛出一个错误:“期望列表,而不是元组”,但是当我运行第二条语句时,它会起作用并生成一个数据框。只是想知道为什么我在两个陈述中都有不同的结果。我缺少Dataframe的任何属性吗? –

回答

0

这是一个有趣的发现!

小心与第一行 - 如果它是一个tuple,你可能有一个混合行(liststuples),如果它是一个list - 仅列出被接受。

演示:

In [134]: lst = [[0,1],[2,3],(4,5)] 

In [135]: pd.DataFrame(lst) 
... 
TypeError: Expected list, got tuple 

解决方案 - 转换第一tuple

In [136]: lst[0] = tuple(lst[0]) 

In [137]: pd.DataFrame(lst) 
Out[137]: 
    0 1 
0 0 1 
1 2 3 
2 4 5 

当第一行是tuple

In [138]: lst = [(0,1),[2,3],(4,5)] 

In [139]: pd.DataFrame(lst) 
Out[139]: 
    0 1 
0 0 1 
1 2 3 
2 4 5