dataframe
私はそのような列を持つパンダを持っています:
event_id、obj_0_type、obj_0_foo、obj_0_bar、obj_1_type、obj_1_foo、obj_1_bar、obj_n_type、obj_n_foo、obj_n_bar、....
例えば:
col_idx = ['event_id']
[col_idx.extend(('obj_%d_id' %d, 'obj_%d_foo' %d, 'obj_%d_bar' %d)) for d in range(5)]
event_id = np.array(range(0,5))
data = np.random.rand(15,5)
data = np.vstack((event_id, data))
df = DataFrame(data.T, index = range(5), columns = col_idx)
オブジェクトごとに単一のエントリを持つように、データフレームの個々の行を分割したいと思います。
event_id、obj_type、obj_foo、obj_bar
event_id は、特定のイベントのすべてのオブジェクト間で共有されます。
それを行うには非常に遅い方法がたくさんあります(データフレーム行を反復して新しいシリーズオブジェクトを作成する)が、それらは非常に遅く、明らかにPythonicではありません。私が見逃している簡単な方法はありますか?