Tôi có một khung dữ liệu df, với hai cột: Script (có văn bản) và Loa
Script Speaker
aze Speaker 1
art Speaker 2
ghb Speaker 3
jka Speaker 1
tyc Speaker 1
avv Speaker 2
bhj Speaker 1
Và tôi có danh sách sau đây: L = ['a','b','c']
Với đoạn mã sau,
df = (df.set_index('Speaker')['Script'].str.findall('|'.join(L))
.str.join('|')
.str.get_dummies()
.sum(level=0))
print (df)
Tôi có được khung dữ liệu này df2:
Speaker a b c
Speaker 1 2 1 1
Speaker 2 2 0 0
Speaker 3 0 1 0
Tôi có thể thêm dòng nào vào mã của mình để nhận được, đối với mỗi dòng trong khung dữ liệu của tôi df2, giá trị phần trăm của tất cả các dòng được nói bởi người nói, để có khung dữ liệu sau df3:
Speaker a b c
Speaker 1 50% 25% 25%
Speaker 2 100% 0 0
Speaker 3 0 100% 0