python - 在数据框中返回为 set() 的空集,如何返回为 None 或 NULL?
问题描述
我有一个函数,我将一个列作为一个空集启动,因为我想在循环列表时只向它附加唯一值。
但是,当没有值添加到集合中时,它将像set()
在数据框中一样返回,而我希望它返回NULL
or None
。我该怎么做?
这是一个虚拟示例:
此外,此函数设计为按列工作并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 的情况下仅将唯一值附加到列表中,请随时告诉我!
解决方案
推荐阅读
- html - 如何有效地在画布上加载和绘制表情符号?
- java - 如何使用 k8s-java-client 在同一个 k8s 集群上的同一服务的 Pod 之间进行通信?
- react-router - 如何使 createObjectUrl() 与 react-router 一起工作?
- c# - Xamarin Forms:TemplatedItems 仅返回分组标题中的视单元
- javascript - 如何使用按钮更改网站的背景?
- javascript - 如何使用 javascript 或 jquery 将输入值存储在 Web 本地存储中?
- c - 如何仅使用 int *a,*b,*add 等指针变量将两个数字相加;
- java - Spring Boot 的客户端证书验证失败
- django - Django group by 然后序列化
- python - 如何在while循环中处理整数输入