熊猫'列出'在一行/帧中

时间:2017-03-13 01:05:41

标签: python pandas

好吧,我有一个奇怪的 -

     ctry_list
0  RU,RU,RU,RU
1          NaN
2          NaN
[Finished in 8.3s]

我需要将ctry_list放入他们自己的独立行 -

     ctry_list
0          RU
1          RU
2          RU
3          RU
[Finished in 8.3s]  

我试过了 -

frame2 = frame1[['ctry_list']]
#print frame2.head(10)
s = frame2.apply(lambda x: pd.Series(x['ctry_list']),axis=1).stack().reset_index(level=1, drop=True)
s.name = 'list'
frame3 = frame2.drop('ctry_list', axis=1).join(s)
print frame3.head(10)

但这只是给了我这个

          list
0  RU,RU,RU,RU
0        BR,BR
0          ,US
0          US,
0     US,US,US
0           ,,
0  RU,RU,RU,RU
0        BR,BR
0          ,US
0          US,
[Finished in 8.2s]

我该怎么做?

1 个答案:

答案 0 :(得分:2)

如果ctry_list列包含带逗号分隔值的字符串,那么这适用于您的示例:

frame1['ctry_list'].str.split(',', expand=True).stack()