首页 > 解决方案 > 如果 Pandas DataFrame 中的条件 - 检查列是否存在

问题描述

我正在尝试在由三列(时间戳、A、B)组成的 Pandas 数据库上运行以下代码。有时,它也可能有一个名为“C”的列,我想检查它是否存在以执行一些代码:我想创建一个名为“result1”或“result2”的新列,具体取决于“C”是否存在与否,并在本栏目中进行划分。之后,我想删除除时间戳和带有结果的列之外的所有列。

不幸的是,它不起作用,我找不到原因(它甚至没有创建新列),你们中的任何一个都可以帮帮我吗?

if 'C' in data.columns:
  data['result1'] = data['C'] / data['A']
  data = data.drop(data.columns.difference(['timestamp', 'result1']), 1, inplace=True)
else:
  data['result2'] = data['B'] / data['A']
  data = data.drop(data.columns.difference(['timestamp', 'result2']), 1, inplace=True)

标签: pythonpandasdataframeif-statement

解决方案


推荐阅读