熊猫:从DataFrame中的列表中获取值

时间:2015-09-29 05:20:35

标签: python list pandas

从我的一个脚本中我最终得到了Pandas中的一个大数据帧 其中一个列看起来像这样

13      [1705916]
14    [116242799]
15     [17865718]
...
9551      [74736013]
9553              []
9620      [92090990]
9666        [113455]
9667     [327478610]
9733      [52782791]
9838              []
9951     [229462842]
9952              []
10070             []

当我输入时(df.column_of_interest) 我回来了<class 'pandas.core.series.Series'>.

所以我的问题是,是否可以从数据框中的列表中提取数据,同时在列表中保留空值的行?

预期产出:

13      1705916
14    116242799
15     17865718
...
9551      74736013
9553              
9620      92090990
9666        113455
9667     327478610
9733      52782791
9838              
9951     229462842
9952              
10070             

1 个答案:

答案 0 :(得分:2)

如果列当前是整数列表,那么您可以使用series.applystr.join()来获得所需内容。示例 -

In [42]: df = pd.DataFrame([[1,[2]],[2,[3]],[3,[]],[4,[5,6]]], columns=['A','B'])

In [43]: df
Out[43]:
   A       B
0  1     [2]
1  2     [3]
2  3      []
3  4  [5, 6]

In [44]: df['B'] = df['B'].apply(lambda x:','.join([str(i) for i in x]))

In [45]: df
Out[45]:
   A    B
0  1    2
1  2    3
2  3
3  4  5,6