2017-02-25 50 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