Tôi đang cố gắng sử dụng nhóm theo để tạo một khung dữ liệu mới, nhưng tôi cần chỉ mục đa để nhất quán. Bất kể loại phụ tồn tại, tôi muốn nó được tạo ra như sau:Pandas Groupby Mức nhất quán ngay cả khi trống
import pandas as pd
df = pd.DataFrame(
{'Cat 1':['A','A','A','B','B','B','B','C','C','C','C','C','D'],
'Cat 2':['A','B','A','B','B','B','A','B','B','B','B','B','A'],
'Num': [1,1,1,1,1,1,1,1,1,1,1,1,1]})
print df.groupby(['Cat 1','Cat 2']).sum()
Với đầu ra trông giống như:
Num
Cat 1 Cat 2
A A 2
B 1
B A 1
B 3
C B 5
D A 1
Nhưng tôi muốn nó trông giống như
Num
Cat 1 Cat 2
A A 2
B 1
B A 1
B 3
C A Nan
B 5
D A 1
B Nan
tôi đọc dữ liệu khác nhau mà sau đó bổ sung thêm một cột trong định dạng này nên các mảng kết quả sẽ giống như thế:
Num Num_added_later
Cat 1 Cat 2
A A 2 12
B 1 5
B A 1 5
B 3 3
C A Nan 5
B 5 5
D A 1 1
B Nan 3
Tôi không nghĩ rằng đây là rất hacky. Ý định không được truyền đạt là tốt, nhưng nó khá thông minh dù sao. –
Tôi thích bản hack này! – MaxU