2014-10-10 752 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'])