Pycharm在dataframe concat之后没有输入提示

时间:2017-05-20 11:58:55

标签: python pandas dataframe pycharm type-hinting

如果我想将2个数据帧连接成1:

X_all = pd.concat(objs = [X_train, X_test], axis=0) # type: pd.DataFrame
X_all.fillna(X_all.mean(), inplace = True)

即使我在评论中告诉类型pd.Dataframe的pycharm,在第二行它仍然不会输入提示.fillna,我仍然会收到警告:Unresolved attribute reference 'fillna' for class 'type' less... (⌘F1)

如何让pycharm识别它是一个数据帧?

2 个答案:

答案 0 :(得分:4)

您的类型提示错误。它应该是pd.DataFrame,而不是pd.Dataframe(大写F)。

X_all = pd.concat(objs = [X_train, X_test], axis=0)  # type: pd.DataFrame

在Python 3.6+中,您还可以使用本机类型提示:

X_all: pd.DataFrame = pd.concat(objs = [X_train, X_test], axis=0)

答案 1 :(得分:0)

我必须这样做:

X_all = pd.concat(objs = [X_train, X_test], axis=0)
assert isinstance(X_all, pd.DataFrame)
X_all.fillna(X_all.mean(), inplace = True)