python的pandas使用

序号,姓名,性别,语文,数学,英语,地理,化学,生物
1,高莎莎,,100,88,96,88,65,96
2,张三,,100,98,96,88,65,96
3,李四,,100,78,96,88,65,96
4,王五,,100,90,96,88,65,96
#读取CSV文件
csv = pd.read_csv("C:/Users/wb-admin/Desktop/student.txt")
#print(csv)
#只读取前两行
print(csv.head(2))

#数据格式
print(type(csv))

#列名1
print(csv.columns)
#索引
print(csv.index)
#获取索引为1的行值
print(csv.loc[1])

#数学成绩大于80
print(csv[csv.数学 > 80])

#复杂筛选 语文、数学、英语都要大于80
print(csv[(csv.数学 > 80)&(csv.语文 > 80)&(csv.英语 > 80)])

#排序
print(csv.sort_values(['数学','语文']))

#访问数据元素,实实在在的所谓的第几行
print(csv.iloc[1])

#简单的统计
print(csv.数学.value_counts())

#分类统计
def func(score):
    if score >= 80:
        return  '优秀'
    elif score >=70:
        return "良"
    elif score >=60:
        return "及格"
    else:
        return "不及格"

csv['数学分类'] = csv.数学.map(func)
print(csv)


def func(number):
    return  number +10
#等价于 匿名函数
func = lambda number:number+10

#applymap 对dataframe中所有数据进行操作的函数
csv.applymap(lambda x : str(x) + '**')
print(csv)

#apply根据多列生成一个新列的操作

csv['新分数'] = csv.apply(lambda x: x.数学 + x.语文, axis=1)
print(csv)
 序号   姓名 性别   语文  数学  英语  地理  化学  生物
0   1  高莎莎  女  100  88  96  88  65  96
1   2   张三  男  100  98  96  88  65  96
<class 'pandas.core.frame.DataFrame'>
Index(['序号', '姓名', '性别', '语文', '数学', '英语', '地理', '化学', '生物'], dtype='object')
RangeIndex(start=0, stop=4, step=1)
序号      2
姓名     张三
性别      男
语文    100
数学     98
英语     96
地理     88
化学     65
生物     96
Name: 1, dtype: object
   序号   姓名 性别   语文  数学  英语  地理  化学  生物
0   1  高莎莎  女  100  88  96  88  65  96
1   2   张三  男  100  98  96  88  65  96
3   4   王五  男  100  90  96  88  65  96
   序号   姓名 性别   语文  数学  英语  地理  化学  生物
0   1  高莎莎  女  100  88  96  88  65  96
1   2   张三  男  100  98  96  88  65  96
3   4   王五  男  100  90  96  88  65  96
   序号   姓名 性别   语文  数学  英语  地理  化学  生物
2   3   李四  男  100  78  96  88  65  96
0   1  高莎莎  女  100  88  96  88  65  96
3   4   王五  男  100  90  96  88  65  96
1   2   张三  男  100  98  96  88  65  96
序号      2
姓名     张三
性别      男
语文    100
数学     98
英语     96
地理     88
化学     65
生物     96
Name: 1, dtype: object
78    1
90    1
98    1
88    1
Name: 数学, dtype: int64
   序号   姓名 性别   语文  数学  英语  地理  化学  生物 数学分类
0   1  高莎莎  女  100  88  96  88  65  96   优秀
1   2   张三  男  100  98  96  88  65  96   优秀
2   3   李四  男  100  78  96  88  65  963   4   王五  男  100  90  96  88  65  96   优秀
   序号   姓名 性别   语文  数学  英语  地理  化学  生物 数学分类
0   1  高莎莎  女  100  88  96  88  65  96   优秀
1   2   张三  男  100  98  96  88  65  96   优秀
2   3   李四  男  100  78  96  88  65  963   4   王五  男  100  90  96  88  65  96   优秀
   序号   姓名 性别   语文  数学  英语  地理  化学  生物 数学分类  新分数
0   1  高莎莎  女  100  88  96  88  65  96   优秀  188
1   2   张三  男  100  98  96  88  65  96   优秀  198
2   3   李四  男  100  78  96  88  65  96178
3   4   王五  男  100  90  96  88  65  96   优秀  190
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wb175208

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值