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))
在上面的示例中,df3
和 df3_
是 "same" 数据帧,但智能感知仅适用于 df3_
。难道我做错了什么?我怎样才能避免总是不得不调用 DataFrame
构造函数并仍然从 pycharm?
中获得智能感知
答案是这样使用type hints:
df3 = pd.concat([df1, df2], axis=0) # type: pandas.DataFrame
当我使用 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))
在上面的示例中,df3
和 df3_
是 "same" 数据帧,但智能感知仅适用于 df3_
。难道我做错了什么?我怎样才能避免总是不得不调用 DataFrame
构造函数并仍然从 pycharm?
答案是这样使用type hints:
df3 = pd.concat([df1, df2], axis=0) # type: pandas.DataFrame