2

問題をよりよく説明するために、パンダライブラリを使用していくつかの詳細を説明しますが、タイトルで述べられているように、質問の中心的な考え方は非常に一般的だと思います.

一般的な質問: 任意の数のループ巻き込みをコーディングするより洗練された方法は何ですか。

具体的な例: 関数doStruf(df, listLevels)を取り、df は pandas DataFrame オブジェクトであり、listLevels は観測ユニットの階層的に編成された機能 (たとえば、人、教室、学校、...、州) の名前のリストです。 df に記載されています。doStruf (df, ["person", "classes", ..., "states"])の場合、 doStruf 関数で次のようなものを作成したいと思います

for person in unique(array(df["person"])):

    personData = df[df["person"] == person]
    for classroom in unique(array(personData["classrooms"])) :
        classroomData = personData[personData["classroom"] == classroom]

        ... arbritrary number of loops imbrication depending on len(listLevels) ...


             varYData = varXData[varXData["varY"] == varY]
             for state in unique(array(varYData["states"])) :
                 stateData = varYData[varYData["state"] == state]

                 ... do stuff using stateData ...

この種の実行時に定義された数のループ巻き込みを処理するよりクリーンな方法は何ですか?

4

1 に答える 1