2017-11-09 7 views
1

Wenn ich schaffen neue Datenrahmen von alten, mit concat oder fusionieren, PyCharm intellisense hält für die resultierende Datenrahmen arbeiten, wenn ich es explizit einen Konstruktor Datenrahmen passierenPandas Datenrahmen und PyCharm IntelliSense

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)) 

Im obigen Beispiel df3 und df3_ sind der "gleiche" Datenrahmen, aber intellisense funktioniert nur unter df3_. Mache ich etwas falsch? Wie kann ich vermeiden, immer den DataFrame Konstruktor aufrufen zu müssen und trotzdem Intellisense aus pycharm herauszuholen?

Antwort

2

Die Antwort ist type hints wie folgt zu verwenden:

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