当我使用 concat 或合并从旧数据帧创建新数据帧时,PyCharm 智能感知将停止对生成的数据帧工作,除非我将其显式传递给 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))
在上面的示例中,
df3
和df3_
是“相同”的数据帧,但智能感知仅适用于df3_
。难道我做错了什么?如何避免总是需要调用 DataFrame
构造函数,并且仍然能够从 pycharm 中获得智能感知?
答案是使用类型提示,如下所示:
df3 = pd.concat([df1, df2], axis=0) # type: pd.DataFrame