检查pandas df中是否存在一列是否有意义

时间:2019-02-21 11:18:16

标签: python pandas dataframe

列对于执行程序至关重要,因此,如果该列不存在,则希望它消失。

df["column"] = df[["column1", "column2"]].apply(self._func, axis=1)

如果column1或column2不存在,这将引发KeyError。

if "vidcolumn1" in df.columns and "column2" in df.columns:
  df["column"] = df[["column1", "column2"]].apply(self._func, axis=1)
else:
  raise ValueError("Column1 and Column2 are required for ...")

这似乎并没有提供任何有用的信息,除非您想在其他部分做一些事情,例如将错误记录在日志中的其他地方。

因此,如果在列丢失的情况下没有程序的后备,那么使用第二个选项是否有意义?

1 个答案:

答案 0 :(得分:2)

使用(N+2)*(N+1)//2语句:

try-except

但是在您的解决方案中,也应该在try: df["column"] = df[["column1", "column2"]].apply(self._func, axis=1) except KeyError: #error log print ('I have problem') print("Column1 and Column2 are required for ...") 语句中添加代码:

else