在数据帧中以set()返回的空集,如何以None或NULL返回?

时间:2018-07-17 03:00:43

标签: python pandas

我有一个函数可以将列初始化为空集,因为我想在遍历列表时仅向其添加唯一值。

但是,当没有值添加到集合中时,它将在数据帧中以set()的形式返回,而我希望它返回NULLNone。我该怎么办?

这是一个虚拟的例子:

此函数还设计为按列工作,并在后面的过程中传递给df.apply(, axis=1)

row[val_col]='Apple;Banana;Dog'

lookup_map = {'fruit':['Apple'],
'animal':['Cat']}

out_cols = ['fruit','animal']

def assign_vals(row, val_col, out_cols, lookup_map):
  for out_col in out_cols:
        row[out_col] = set()
  vals = row[val_col].split(';')

  for val in vals:
      for out_col in out_cols:
            lookup_vals= lookup_map[out_col]
            for lookup_val in lookup_vals:
                if val in lookup_val:
                    row[out_col].add(lookup_val)

 return ';'.join(row[out_col])

这是一个人为的示例,但我尚未对其进行调试。但是,只是给我一个功能的想法。如果有一种更好的方法可以在不使用set的情况下将唯一值附加到列表中,请随时告诉我!

0 个答案:

没有答案