如何在Pandas中查看函数的全部参数及所有函数列表?
查看Pandas所有可调用对象及参数的方法
方法1:遍历顶层模块并过滤可调用对象
直接遍历pd模块的所有成员,筛选出可调用的函数/方法,再用inspect.signature获取参数:
import pandas as pd import inspect # 遍历pd模块的所有成员 for name, obj in inspect.getmembers(pd): # 筛选可调用对象(排除类、模块等) if callable(obj) and not inspect.isclass(obj) and not inspect.ismodule(obj): try: # 获取函数签名(参数信息) sig = inspect.signature(obj) print(f"函数名: {name}") print(f"参数: {sig}\n") except ValueError: # 部分内置函数可能无法获取签名,跳过 print(f"函数名: {name}") print("无法获取参数信息(内置/特殊函数)\n")
方法2:递归遍历所有子模块
如果要包含Pandas子模块(比如pd.io、pd.plotting里的函数),可以递归遍历所有子模块:
import pandas as pd import inspect import sys def get_all_functions(module, visited=None): if visited is None: visited = set() # 避免重复遍历同一模块 if module in visited: return visited.add(module) for name, obj in inspect.getmembers(module): # 处理子模块 if inspect.ismodule(obj) and obj.__name__.startswith('pandas.'): get_all_functions(obj, visited) # 处理可调用对象 elif callable(obj) and not inspect.isclass(obj): try: sig = inspect.signature(obj) print(f"{module.__name__}.{name}") print(f"参数: {sig}\n") except ValueError: print(f"{module.__name__}.{name}") print("无法获取参数信息\n") # 开始遍历 get_all_functions(pd)
方法3:查看类的核心方法(比如DataFrame、Series)
如果需要查看Pandas核心类的方法,比如pd.DataFrame的所有方法,可以直接遍历类的成员:
import pandas as pd import inspect # 查看DataFrame的所有方法 for name, method in inspect.getmembers(pd.DataFrame, predicate=inspect.isfunction): try: sig = inspect.signature(method) print(f"DataFrame方法: {name}") print(f"参数: {sig}\n") except ValueError: print(f"DataFrame方法: {name}") print("无法获取参数信息\n")
额外提示
- 若只想查看公开函数(排除下划线开头的私有函数),可在筛选条件中添加
if not name.startswith('_')。 - 对部分无法获取签名的内置函数,可尝试打印函数的
__doc__属性,从文档字符串中提取参数说明。
内容的提问来源于stack exchange,提问作者Usman Saadat
相关产品推荐
相关产品推荐

