8

それがデータフレームであるとdfpandasます。いくつかの基準に従って、2 つのデータフレームに分割したいと考えています。これを行うために私が見つけた最良の方法は、次のようなものです

df0, df1 = [v for _, v in df.groupby(df['class'] != 'special')]

上記の例では、基準はメソッドへの引数groupbyです。結果は、フィールドvalueを持つdf0サブデータフレームで構成され、基本的に の補数です。(残念ながら、この構成では、基準を満たさないアイテムで構成されるサブデータフレームが最初に返されますが、これは直感的ではありません。)class'special'df1df0

上記の構成には、特に読みにくいという欠点があります。たとえば、次のsplitbyような仮説的な方法ほど読みにくいことは確かです。

df0, df1 = df.splitby(df['class'] == 'special')

このようなデータフレームの分割は頻繁に行う必要があるため、これを行うための組み込み関数または確立された慣用句がある可能性があると考えています。もしそうなら、私に知らせてください。

4

1 に答える 1

10

これを行う最も読みやすい方法は次のとおりだと思います。

m = df['class'] != 'special'
a, b = df[m], df[~m]

私はこれのための特別な方法に出くわしていません...

于 2013-02-19T12:22:05.063 に答える