Tôi có khung dữ liệu gấu trúc sau đây:
df1 = pd.DataFrame({'date': [200101,200101,200101,200101,200102,200102,200102,200102],'blockcount': [1,1,2,2,1,1,2,2],'reactiontime': [350,400,200,250,100,300,450,400]})
Tôi đang cố gắng tạo một từ điển phân cấp, với các giá trị của từ điển được nhúng dưới dạng danh sách, trông giống như sau:
{200101: {1:[350, 400], 2:[200, 250]}, 200102: {1:[100, 300], 2:[450, 400]}}
Làm thế nào tôi sẽ làm điều này? Gần nhất tôi nhận được là sử dụng mã này:
df1.set_index('date').groupby(level='date').apply(lambda x: x.set_index('blockcount').squeeze().to_dict()).to_dict()
Trả về:
{200101: {1: 400, 2: 250}, 200102: {1: 300, 2: 400}}