このdataFrameが与えられた場合:
import pandas as pd
a = pd.DataFrame({
'id': [1,2,3,4,5],
'company_id': [11,11,22,33,55],
'accSync': [True, False, False, False, True]
})
フィールドがTrueであることにcompany_id
基づいて、特定のすべての行を変更する必要がありaccSync
ます。つまり、特定の行のいずれかにcompany_id
trueが含まれている場合、そのすべての行company_id
もtrueに更新する必要があります。
この場合、company_id
11にはが含まTrue
れているため、行2も更新し2, 11, True
て、行1、3、4、5は影響を受けないようにする必要があります。
私は組み合わせを使用しようとした場合groupby
とany
が、どこにも取得されていません。
デイモン transform
a.groupby('company_id')['accSync'].transform('max')
Out[131]:
0 True
1 True
2 False
3 False
4 True
Name: accSync, dtype: bool
割り当て直します
a['accSync']= a.groupby('company_id')['accSync'].transform('max')
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加