[英]Pandas: Dealing with missing column in input dataframe
我有一个 python 代码,它对数据帧的多列执行数学计算。 此输入来自各种来源,因此有时可能会丢失一列。
此列缺失,因为它无关紧要,但我至少需要有一个空列才能使代码运行而不会出错。
我可以使用 if 循环添加一个空列,但大约有 120 列,我不想减慢代码的速度。 有没有其他方法可以让代码检查原始数据框中的每一列是否存在,然后如果任何列不存在,它会添加一个空列,然后开始执行实际代码?
如果您知道每个数据框的列名都相同,您可以执行类似的操作,而无需遍历列名
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)时间,因为这将是一个哈希搜索。 您可以在此链接阅读有关in
运算符效率的更多详细信息Python 的“in”或“not in”运算符的效率如何?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.