2014-10-10 357 views
1

我是Python/Pandas的新手,並且有兩列一列和另一列的數據框。 我期待將一列(系列)的內容拆分爲多列。讚賞您在這方面的投入。 這是我的當前數據幀內容將列值拆分爲多列pandas/python

Songdetails           Density 
0 ["'t Hof Van Commerce", "Chance", "SORETGR12AB... 4.445323 
1 ["-123min.", "Try", "SOERGVA12A6D4FEC55"]   3.854437 
2 ["10_000 Maniacs", "Please Forgive Us (LP Vers... 3.579846 
3 ["1200 Micrograms", "ECSTACY", "SOKYOEA12AB018... 5.503980 
4 ["13 Cats", "Please Give Me Something", "SOYLO... 2.964401 
5 ["16 Bit Lolitas", "Tim Likes Breaks (intermez... 5.564306 
6 ["23 Skidoo", "100 Dark", "SOTACCS12AB0185B85"]  5.572990 
7 ["2econd Class Citizen", "For This We'll Find ... 3.756746 
8 ["2tall", "Demonstration", "SOYYQZR12A8C144F9D"] 5.472524 

希望的輸出是歌曲,藝術家,歌曲ID,密度即分裂樂曲的詳細信息成列。

例如,對樣本數據

  SONG DETAILS          DENSITY 
8 ["2tall", "Demonstration", "SOYYQZR12A8C144F9D"] 5.472524 

SONG ARTIST    SONG ID    DENSITY 

2tall Demonstration SOYYQZR12A8C144F9D   5.472524 

感謝

+1

你可以試試這個:'pd.DataFrame(data = list(df ['Songdetails']。values),columns = ['SONG','ARTIST','SONG ID'] )' – EdChum 2014-10-10 15:15:30

回答

0

對我下面的工作:

In [275]: 

pd.DataFrame(data = list(df['Song details'].values), columns = ['Song', 'Artist', 'Song Id']) 
Out[275]: 
    Song   Artist    Song Id 
0 2tall Demonstration SOYYQZR12A8C144F9D 
1 2tall Demonstration SOYYQZR12A8C144F9D 

對於不能請你:pd.DataFrame(data = list(df['Songdetails'].values), columns = ['SONG', 'ARTIST', 'SONG ID'])

+0

謝謝,根據我的問題要求,我正在尋找將這些列添加到現有的列密度。所以最終的數據框與4列歌曲藝術家SongID密度。那就是我在哪裏看一個簡單的方法 – MUKUND 2014-10-11 03:15:40

+0

謝謝,我有一個插入列的新數據框,並能夠實現我所需要的感謝 – MUKUND 2014-10-11 06:56:10

0

謝謝你,我有一個做列的插入到新的數據框,並能夠實現我所需要的感謝df2 = pd.DataFrame(series.apply(lambda x:pd.Series(x.split(',')))) df2.insert(3,'密度」,鰭ald ['Density'])