熊猫:处理输入数据框中的缺失列

时间:2020-03-27 04:44:12

标签: python pandas dataframe

我有一个python代码,可以对数据框的多个列执行数学计算。此输入来自各种来源,因此有时可能会丢失同一列中的一列。

缺少此列,因为它无关紧要,但我需要至少有一个null列,代码才能正确运行。

我可以使用if循环添加一个空列,但是大约有120列,我不想放慢代码的速度。代码是否还有其他方法可以检查原始数据帧中是否存在每一列,然后如果不存在任何列,则添加一个空列,然后从执行实际代码开始?

1 个答案:

答案 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运算符的效率。