2013-05-19 50 views
2

我有一個熊貓數據幀,其中一列是這樣的:子列表中的大熊貓

0    {u'funny': 2, u'useful': 0, u'cool': 0} 
1  {u'funny': 370, u'useful': 487, u'cool': 296} 
2    {u'funny': 2, u'useful': 17, u'cool': 1} 
3  {u'funny': 1233, u'useful': 2452, u'cool': 1875} 
4    {u'funny': 4, u'useful': 7, u'cool': 2} 
5  {u'funny': 408, u'useful': 819, u'cool': 557} 
6  {u'funny': 321, u'useful': 673, u'cool': 430} 
7   NaN 
8    {u'funny': 0, u'useful': 8, u'cool': 0} 

我想出來打破這一列到單獨的列,無需遍歷所有行的明確(有很多,加上這是不好的做法)。

DataFrame.ThisColumn[1]["funny"]回報2,但DataFrame.ThisColumn[:]["funny"]不起作用....

我怎樣才能打入單獨的列呢?

謝謝。

回答

6

你可以只申請了系列構造該列:

In [11]: df 
Out[11]: 
               dics 
0   {u'funny': 2, u'useful': 0, u'cool': 0} 
1  {u'funny': 370, u'useful': 487, u'cool': 296} 
2   {u'funny': 2, u'useful': 17, u'cool': 1} 
3 {u'funny': 1233, u'useful': 2452, u'cool': 1875} 
4   {u'funny': 4, u'useful': 7, u'cool': 2} 
5  {u'funny': 408, u'useful': 819, u'cool': 557} 
6  {u'funny': 321, u'useful': 673, u'cool': 430} 
7   {u'funny': 0, u'useful': 8, u'cool': 0} 

In [12]: df['dics'].apply(pd.Series) 
Out[12]: 
    cool funny useful 
0  0  2  0 
1 296 370  487 
2  1  2  17 
3 1875 1233 2452 
4  2  4  7 
5 557 408  819 
6 430 321  673 
7  0  0  8 

然而,我認爲這是幾乎可以肯定是最好的構建你的數據幀的時候,而不是一旦他們已經在數據幀分割這些。

+0

是的,但我不是從CSV閱讀。乾杯! –

+0

@ N.McA。好吧,不過,你正在獲取你的數據,最好先試着去做! :) –

+0

這是一個已經格式化爲這樣的JSON,我不負責刮取它,所以我不知道我可以 –