Skip to main content
 首页 » 编程设计

python之pandas 方法的有效参数

2025年05月04日16mq0036

Pandas 似乎忽略了额外的(无效的)参数。例如

import pandas as pd 
df=pd.read_excel('myfile.xlsx', some_dummy_param=True) 

我预计(但没有得到)类似...的错误

TypeError: __init__() got an unexpected keyword argument 'some_dummy_param' 

问题是,因为没有错误,我认为“some_dummy_param”是有效的。这当然不是预期的。有什么方法可以确保只将有效参数传递给 read_excel 方法?

请您参考如下方法:

不,不是真的。

关键字参数通常通过 **kwargs 在 Pandas 中传递, 它被转发或被视为 dict。使用此 dict 的函数可以自由检查是否存在与预期不同的键。

你可以做类似的事情:

def safe_read_excel(self, f_name, *args, **kwargs): 
    # Check if kwargs contains wrong parameters 
    if set(kwargs.keys()).difference(set(<expected keys>)):  
        raise ValueError(<some messagge>) 
    return self.read_excel(f_name, *args, **kwargs) 
 
pd.DataFrame.safe_read_excel = safe_read_excel 

但是,这会

  1. 为DataFrame创建一个非标准方法
  2. 可能会因不同版本的 Pandas 而中断