Mar*_*edy 2 python list pandas jupyter-notebook
我有一个数据框(称为“df”),其中包含一个名为“成绩”的列。此列包含成绩列表。此列中的数据属于“对象”类型。
student_id grades
0 11 [A,A,B,A]
1 12 [B,B,B,C]
2 13 [C,C,D,B]
3 21 [B,A,C,B]
Run Code Online (Sandbox Code Playgroud)
我希望创建一个名为“maths_grades”的新列,它将存储成绩列表中的第三个元素。
示例输出:
student_id grades maths_grade
0 11 [A,A,B,A] B
1 12 [B,B,B,C] B
2 13 [C,C,D,B] D
3 21 [B,A,C,B] C
Run Code Online (Sandbox Code Playgroud)
最好的办法是什么?
使用索引str,因为使用可迭代对象:
df['maths_grade'] = df['grades'].str[2]
Run Code Online (Sandbox Code Playgroud)
或者如果没有缺失值和性能很重要,则列出理解:
df['maths_grade'] = [x[2] for x in df['grades']]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1253 次 |
| 最近记录: |