我在运行Python 3.12.0版本的VS Code时,已安装了最新版pandas。当我执行以下代码:
import pandas as pd
data = pd.DataFrame(np.arange(16).reshape((4,4)),
index = ['Ohio', 'Colorado', 'Utah', 'New York'],
columns = ['one', 'two', 'three', 'four'])
data.loc['Colorado', ['two', 'three']]
但Pylance插件在最后一行代码下显示了波浪线红线错误提示。
错误信息是:
“getitem”没有匹配提供的参数的重载项
PylancereportGeneralTypeIssues
frame.pyi(201, 9): 最接近的匹配重载为第4个
类型“tuple[Literal['Colorado'], list[str]]”的实参不能赋给函数“getitem”中的形参“idx”,其类型为“tuple[Scalar, slice]”
“tuple[Literal['Colorado'], list[str]]”与“tuple[Scalar, slice]”不兼容
元组的第二个元素类型不正确
“list[str]”与“slice”不兼容
PylancereportGeneralTypeIssues
尽管如此,我的代码在实际运行时完全正常。我可以使用# type: ignore
来忽略此警告,但我希望能得到一个更永久性的解决方案。
顺便说一下,这是我第一次在Stack Overflow上提问。
编辑:我发现我的类型检查功能是开启状态,所以关闭类型检查是一个解决方案。但如果有人有其他更好的解决方案,请告诉我。