次の DataFrame があるとします。
import pandas as pd
df = pd.DataFrame({'label': ['a', 'a', 'b', 'b', 'a', 'b', 'c', 'c', 'a', 'a'],
'numbers': [1, 1, 1, 1, 1, 2, 2, 2, 2, 2],
'arbitrarydata': [False] * 10})
arbitrarydata
他の両方の列の値に従って、列に値を割り当てたいと思います。素朴なアプローチは次のようになります。
for _, grp in df.groupby(('label', 'numbers')):
grp.arbitrarydata = pd.np.random.rand()
当然、これは変更を に反映しませんdf
。変更が元の DataFrame に反映されるようにグループを変更する方法はありますか?