我有一个python代码,可以对数据框的多个列执行数学计算。此输入来自各种来源,因此有时可能会丢失同一列中的一列。
缺少此列,因为它无关紧要,但我需要至少有一个null列,代码才能正确运行。
我可以使用if循环添加一个空列,但是大约有120列,我不想放慢代码的速度。代码是否还有其他方法可以检查原始数据帧中是否存在每一列,然后如果不存在任何列,则添加一个空列,然后从执行实际代码开始?
答案 0 :(得分:0)
如果您知道每个数据框的列名都相同,则可以执行以下操作而不必遍历列名
if col_name not in df.columns:
df[col_name] = '' # or whatever value you want to set it to
如果速度是一个超级问题,我不能告诉您,您总是可以使用set
将列转换为set(df.columns)
并将搜索减少到O(1)时间,因为它将是哈希搜索。您可以在此链接How efficient is Python's 'in' or 'not in' operators?
in
运算符的效率。