我有以下自定义功能
import pandas as pd
def MyFn(DF : pd.DataFrame) -> float :
return DF['Col_A'].values[1] - DF['Col_B'].values[1]
但是我想强制用户提供一个包含 2 列且列名称为的数据框'Col_A' and 'Col_B'
任何关于我如何做到这一点的见解将不胜感激。
我有以下自定义功能
import pandas as pd
def MyFn(DF : pd.DataFrame) -> float :
return DF['Col_A'].values[1] - DF['Col_B'].values[1]
但是我想强制用户提供一个包含 2 列且列名称为的数据框'Col_A' and 'Col_B'
任何关于我如何做到这一点的见解将不胜感激。
这是我的方法
我使用 try 函数来防止异常,这是一种简单的修复方法,而且更灵活
希望这能解决问题。
您应该能够使用
assert
andDF.columns.tolist() == ['Col_A', 'Col_B']
:请注意,这将需要按此特定顺序恰好两列“Col_A”和“Col_B”。
更灵活的选择是使用
try
/except
,这将允许您独立处理另一个潜在错误:传递少于两行的 DataFrame 会触发 IndexError: