Strを取り、データフレームを返す簡単な関数を見てみましょう。
import pandas as pd
def csv_to_df(path):
return pd.read_csv(path, skiprows=1, sep='\t', comment='#')
この関数に型ヒントを追加するための推奨されるPythonの方法は何ですか?
DataFrameのタイプについてpythonを要求すると、pandas.core.frame.DataFrame
。ただし、pandasは定義されていないことがわかります。
def csv_to_df(path: str) -> pandas.core.frame.DataFrame:
return pd.read_csv(path, skiprows=1, sep='\t', comment='#')
なぜpd.DataFrame
を使用しないのですか?
def csv_to_df(path: str) -> pd.DataFrame:
return pd.read_csv(path, skiprows=1, sep='\t', comment='#')
結果は同じです:
> help(csv_to_df)
Help on function csv_to_df in module __main__:
csv_to_df(path:str) -> pandas.core.frame.DataFrame
現在、次のことを行っています。
from typing import TypeVar
PandasDataFrame = TypeVar('pandas.core.frame.DataFrame')
def csv_to_df(path: str) -> PandasDataFrame:
return pd.read_csv(path, skiprows=1, sep='\t', comment='#')
与えるもの:
> help(csv_to_df)
Help on function csv_to_df in module __main__:
csv_to_df(path:str) -> ~pandas.core.frame.DataFrame
Pythonicがどれほど優れているかはわかりませんが、型のヒントとしては十分理解できると思います。