繁体   English   中英

Pandas:处理输入数据框中丢失的列

[英]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

如果速度是一个超级关注,我也说不清,你总是可以在列转换为setset(df.columns)降低搜索O(1)时间,因为这将是一个哈希搜索。 您可以在此链接阅读有关in运算符效率的更多详细信息Python 的“in”或“not in”运算符的效率如何?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM