Pandas 个数据框和 PyCharm 个 IntelliSense

Pandas dataframes and PyCharm IntelliSense

当我使用 concat 或 merge 从旧数据帧创建新数据帧时,PyCharm intellisense 停止处理生成的数据帧,除非我明确地将其传递给 DataFrame 构造函数

import pandas as pd

d1 = {1: [1, 2, 3], 2: [11, 22, 33]}
d2 = {1: [4], 2: [5]}

df1 = pd.DataFrame(d1)
df2 = pd.DataFrame(d2)
df3 = pd.concat([df1, df2], axis=0)
df3_ = pd.DataFrame(pd.concat([df1, df2], axis=0))

在上面的示例中,df3df3_ 是 "same" 数据帧,但智能感知仅适用于 df3_。难道我做错了什么?我怎样才能避免总是不得不调用 DataFrame 构造函数并仍然从 pycharm?

中获得智能感知

答案是这样使用type hints

df3 = pd.concat([df1, df2], axis=0)  # type: pandas.DataFrame