原数据:

考核方式

ABCD十项值(A:1,B:2,C:3,D:4)

教师姓名

考试

2,2,2,2,2,2,1,2,2,2

0

考试

2,3,3,3,2,2,2,2,2,2

1

考试

1,1,2,1,1,1,1,1,1,1

2

考试

1,2,2,2,3,2,2,3,1,2

3

通过 ​​pandas​​读入之后为:

import pandas as pd
names = ['C1','C2','C3']
data = pd.read_excel('./data/3000.xlsx',names=names)
print(data)

C1 C2 C3
0 考试 2,2,2,2,2,2,1,2,2,2 0
1 考试 2,3,3,3,2,2,2,2,2,2 1
2 考试 1,1,2,1,1,1,1,1,1,1 2
3 考试 1,2,2,2,3,2,2,3,1,2 3

可以看到需要分割​​C2​​这一列:

print(data['C2'].str.split(',', expand=True))

0 1 2 3 4 5 6 7 8 9
0 2 2 2 2 2 2 1 2 2 2
1 2 3 3 3 2 2 2 2 2 2
2 1 1 2 1 1 1 1 1 1 1
3 1 2 2 2 3 2 2 3 1 2

同原有的进行合并:

data = pd.merge(data,(data['C2'].str.split(',', expand=True)),how='left',left_index=True,right_index=True)
print(data)

C1 C2 C3 0 1 2 3 4 5 6 7 8 9
0 考试 2,2,2,2,2,2,1,2,2,2 0 2 2 2 2 2 2 1 2 2 2
1 考试 2,3,3,3,2,2,2,2,2,2 1 2 3 3 3 2 2 2 2 2 2
2 考试 1,1,2,1,1,1,1,1,1,1 2 1 1 2 1 1 1 1 1 1 1
3 考试 1,2,2,2,3,2,2,3,1,2 3 1 2 2 2 3 2 2 3 1 2