python遍历dataframe中的每个字符_DataFrame遍历所有元素

这篇博客介绍了如何利用pandas的applymap()函数遍历DataFrame中的每个元素,并通过示例展示了如何将10个学生的考试成绩从数值转换为A到F的等级。转换规则基于不同的分数区间,最终得到了转换后的成绩等级DataFrame。
摘要由CSDN通过智能技术生成

pandas DataFrame的 applymap() 函数可以对DataFrame里的每个值进行处理,然后返回一个新的DataFrame:

import pandas as pd

df = pd.DataFrame({

'a': [1, 2, 3],

'b': [10, 20, 30],

'c': [5, 10, 15]

})

def add_one(x):

return x + 1

print df.applymap(add_one)

a b c

0 2 11 6

1 3 21 11

2 4 31 16

一个栗子:

这里有一组数据是10个学生的两次考试成绩,要求把成绩转换成ABCD等级:

转换规则是:

90-100 -> A

80-89 -> B

70-79 -> C

60-69 -> D

0-59 -> F

grades_df = pd.DataFrame(

data={'exam1': [43, 81, 78, 75, 89, 70, 91, 65, 98, 87],

'exam2': [24, 63, 56, 56, 67, 51, 79, 46, 72, 60]},

index=['Andre', 'Barry', 'Chris', 'Dan', 'Emilio',

'Fred', 'Greta', 'Humbert', 'Ivan', 'James']

)

def convert_to_letter(score):

if (score >= 90):

return 'A'

elif (score >= 80):

return 'B'

elif (score >= 70):

return 'C'

elif (score >= 60):

return 'D'

else:

return 'F'

def convert_grades(grades):

return grades.applymap(convert_to_letter)

print convert_grades(grades_df)

exam1 exam2

Andre F F

Barry B D

Chris C F

Dan C F

Emilio B D

Fred C F

Greta A C

Humbert D F

Ivan A C

James B D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值