-4
私は関数に変数を取らない関数を記述しようとしています。私は通常関数を書くことはしませんが、私が知る限り、私はスクリプトをもっとPythonにして時間を節約しようとしています。引数を関数の属性として渡しますか?
例:私が取得しようとしています何
source = pd.DataFrame(
{
'Name': ['John', 'Mike', 'John', 'John'],
'Year': ['1999', '2000', '2000', '2000'],
'Message': ['I Love You', 'Will Remember You', 'Love', 'I Love You']
}
)
def unstack(df, keyword):
d = (df.keyword.str.split(expand=True).stack)
unstack(source, year)
は次のとおりです。
d = (df.year.str.split(expand=True).stack)
私は関数に有効なキーを渡すことは非常に一般的ですけど、私は機能を取得しようとしています引数を取り込み、それをキーとして使用する。
うまくいけばいいと思います。したがって
getattr(df, keyword)
:
def unstack(df, keyword):
d = getattr(df, keyword).str.split(expand=True).stack
をしかし、それだけで呼び出し規約のこの部分を作る方が良いでしょう:df
のkeyword
属性、使用を取得するには
私はあなたが何について話しているか分かりません。 「非変数」とは何ですか? – syntonym
申し訳ありませんが、私は正しい言葉を知らないかもしれません。しかし、この例ではより明確に説明しています。 – BernardL
関数にオブジェクトの "年"属性にアクセスするために単語 "年"を関数に渡したいとお考えですか? – khelwood