如何在python中为空数组返回None



我有一个包含两列的数据帧。第一列包含一个整数,第二列包含多个项目的列表,这些项目也可以为空。我想返回一个包含元组的列表,其中元组的第一部分是来自col1的整数,元组的第二部分是来自coll2的整数,总共列出了所有可能的结果。输入:

col1    col2
0   909101  [1396920, 3094857]
1   21095887    [8383568]
2   8383568 [21095887]
3   2408689 []

期望输出:

[(909101, 1396920),
(909101, 3094857),
(21095887, 8383568),
(8383568, 21095887),
(2408689, None)]

到目前为止,我有这些,但它只输出非空输入的元组。

[(df[col1][i],df[col2][i][j]) 
for i in range(len(df))
for j in range(len(df[col2][i]))]
[(909101, 1396920),
(909101, 3094857),
(21095887, 8383568),
(8383568, 21095887)]

一个快速而肮脏的修复,将第二个循环变成每个循环的正常:

[(df[col1][i], x) 
for i in range(len(df))
for x in (df[col2][i] or [None])]

相关内容

  • 没有找到相关文章

最新更新