Python 熊猫:从数据帧中的列表中获取值
从我的一个脚本中,我得到了一个大数据框 其中一列是这样的Python 熊猫:从数据帧中的列表中获取值,python,list,pandas,Python,List,Pandas,从我的一个脚本中,我得到了一个大数据框 其中一列是这样的 13 [1705916] 14 [116242799] 15 [17865718] ... 9551 [74736013] 9553 [] 9620 [92090990] 9666 [113455] 9667 [327478610] 9733 [52782791] 9838 [] 9951 [229462
13 [1705916]
14 [116242799]
15 [17865718]
...
9551 [74736013]
9553 []
9620 [92090990]
9666 [113455]
9667 [327478610]
9733 [52782791]
9838 []
9951 [229462842]
9952 []
10070 []
当我输入时(感兴趣的df.列)
我回来了
所以我的问题是,是否可以从数据帧中的列表中提取数据,同时在列表中保留空值行
预期产出:
13 1705916
14 116242799
15 17865718
...
9551 74736013
9553
9620 92090990
9666 113455
9667 327478610
9733 52782791
9838
9951 229462842
9952
10070
如果列当前是整数列表,则可以使用
series.apply
和str.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
如果一个列表中有多个值,你想怎么做?你想让该列的末尾是什么类型,如果是数字类型,你不能为空,那么它应该变成
NaN
。如果有多个值,如果它是以逗号分隔的值输出的话就更好了,比如:15 15566,5465456,555563空单元格的Nan值也是完美的,所以您希望字符串作为输出吗?是的,字符串是完美的,谢谢,我使用itertools.chain之类的东西看错了方向,但它正在删除空值。