DataFrame的运算

DataFrame的运算种类:

DataFrme 看成事Series的字典对象 , 列标签就是字典的键, 每一列数据就是字典的值
1.DataFrame 和 numpy 广播机制
具有广播机制
添加的时候索引对不上可以使用函数add()
df1.add(df, fill_value=0) 给空值补0

2.DataFrame 和 DataFrame
同Series一样:
在运算中自动对齐相同索引的数据
如果索引不对应,则补NaN

3.DataFrame 和 Series
Series 默认与DataFrame 的列索引对齐进行运算
重要:
使用python操作符:以行为单位操作(参数必须是行),对所有行都有效。
使用pandas操作函数:
axis = 0 以列为单位操作(参数必须是列),对所有列都有效
axis = 1 以行为单位操作(参数必须是行),对所有行都有效
【注意】fill_value在df和series之间运算时,不能使用

练习6:

假设ddd是期中考试成绩,ddd2是期末考试成绩,请自由创建ddd2,并将其与ddd相加,求期中期末平均值。

假设张三期中考试数学被发现作弊,要记为0分,如何实现?

李四因为举报张三作弊立功,期中考试所有科目加100分,如何实现?

后来老师发现有一道题出错了,为了安抚学生情绪,给每位学生每个科目都加10分,如何实现?

df1 = DataFrame(data=np.random.randint(0,100,size=(5,3)), index=list("ABCDE"), columns=["python","java","php"])
df2 = DataFrame(data=np.random.randint(0,100,size=(5,3)), index=list("ABCDE"), columns=["python","java","php"])
display(df1, df2)
1.(df1 + df2)/2
2.df1.loc["B","java"] = 0
3.df1.loc["C"] += 100
4.df1 += 10
发布了58 篇原创文章 · 获赞 0 · 访问量 500

猜你喜欢

转载自blog.csdn.net/qq_41170489/article/details/103878685