python
1import pandas as pd
2import io
3
4csv_data = '''
5day,id,pre_post,a,b,c
62022-01-01 00:00:00,1234,pre,1,2,3
72022-01-01 00:00:00,1234,post,4,5,6
82022-01-15 00:00:00,5678,pre,7,8,9
92022-01-15 00:00:00,5678,post,10,11,12
10'''
11df = pd.read_csv(io.StringIO(csv_data))
12
13#
14cols = ['a', 'b', 'c']
15tags = ['pre', 'post']
16col_prefix = [{c: f'{t}_' + c for c in cols} for t in tags]
17result = (
18 df.groupby(['day', 'id'], sort=False)
19 .apply(lambda x: pd.concat(
20 x.loc[x['pre_post'] == t, cols].iloc[0].rename(col_prefix[i])
21 for i, t in enumerate(tags)))
22 .reset_index())
23
24print(result)
25#
26 day id pre_a pre_b pre_c post_a post_b post_c
270 2022-01-01 00:00:00 1234 1 2 3 4 5 6
281 2022-01-15 00:00:00 5678 7 8 9 10 11 12
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/11 05:03