1

次の構造のデータフレームがあります。

<class 'pandas.core.frame.DataFrame'>
Int64Index: 1152 entries, 0 to 143
Data columns:
cuepos             1152  non-null values
response           1152  non-null values
soa                1152  non-null values
targetpos          1152  non-null values
testorientation    1152  non-null values
dtypes: float64(3), int64(2)

cuepos列と列の両方に、またtargetposはの整数値が含まれてい1ます2

このデータをとの間の合同でグループ化したいと思います。つまり、2つのグループを作成したいと思います。1つは行のグループ用で、もう1つはのグループ用です。cuepostargetposcuepos == targetposcuepos != targetpos

私はこれをどのように行うのか理解できないようです。グループ化関数の使用を検討しましたが、これらは1つの列にしか作用しないようです...または私は間違っていますか?誰かが私を正しい方向に向けることができますか?

前もって感謝します!Blz

4

2 に答える 2

4

複数の列でグループ化できます。

df.groupby(['col1'、'col2'])。apply(lambda x:x ['col1'] == x ['col2']、axis = 1)

マスクを使用することもできます。

df [df.col1 == df.col2]

于 2012-11-15T16:06:02.087 に答える
3

グループ計算を行うことが目標の場合は、次のことができることに注意してください。

df.groupby(df.col1 == df.col2).apply(f)

結果はTrue/Falseによってキー設定されます。

于 2012-11-17T18:45:48.563 に答える