(1)学生成绩分析
某班级的学生成绩如下:
| 姓名 | 语文 | 数学 | 英语 |
|---|---|---|---|
| 孙笑川 | 90 | 95 | 65 |
| 药水哥 | 91 | 96 | 70 |
| Giao哥 | 80 | 89 | 90 |
| 刘波 | 75 | 88 | 95 |
1.计算每名学生的总分和平均分
2.找出数学成绩高于90分或英语成绩高于85分的学生
3.按总分降序排序(显示前三名)
import numpy as np
import pandas as pd
data = {
"姓名": ["孙笑川", "药水哥", "Giao哥", "刘波"],
"语文": [90, 91, 80, 75],
"数学": [95, 96, 89, 88],
"英语": [65, 70, 90, 95]
}
scores = pd.DataFrame(data)
print(scores)
姓名 语文 数学 英语
0 孙笑川 90 95 65
1 药水哥 91 96 70
2 Giao哥 80 89 90
3 刘波 75 88 95scores['总分'] = scores[['语文', '数学', '英语']].sum(axis=1)
print(scores)
print("================================================")
# scores['平均分'] = scores['总分'] / 3
scores['平均分'] = scores[['语文', '数学', '英语']].mean(axis=1)
print(scores)
姓名 语文 数学 英语 总分
0 孙笑川 90 95 65 250
1 药水哥 91 96 70 257
2 Giao哥 80 89 90 259
3 刘波 75 88 95 258
================================================
姓名 语文 数学 英语 总分 平均分
0 孙笑川 90 95 65 250 83.333333
1 药水哥 91 96 70 257 85.666667
2 Giao哥 80 89 90 259 86.333333
3 刘波 75 88 95 258 86.000000print(scores[(scores['数学'] > 90) | (scores['英语'] > 85)])
姓名 语文 数学 英语 总分 平均分
0 孙笑川 90 95 65 250 83.333333
1 药水哥 91 96 70 257 85.666667
2 Giao哥 80 89 90 259 86.333333
3 刘波 75 88 95 258 86.000000# print(scores.sort_values('总分', ascending=False).head(3))
print(scores.nlargest(3, columns='总分'))
姓名 语文 数学 英语 总分 平均分
2 Giao哥 80 89 90 259 86.333333
3 刘波 75 88 95 258 86.000000
1 药水哥 91 96 70 257 85.666667(2)销售数据分析
某公司销售数据如下:
| 产品名称 | 苹果 | 西瓜 | 葡萄 | 梨 |
|---|---|---|---|---|
| 单价(斤/元) | 8.5 | 3.5 | 10 | 5.5 |
| 销量(斤) | 50 | 100 | 20 | 300 |
- 计算每种产品的总销售额
2.找出销售额最高的商品
3.按销售额降序排序
import numpy as np
import pandas as pd
data = {
"产品名称": ["苹果", "西瓜", "葡萄", "梨"],
"单价(斤/元)": [8.5, 3.5, 10, 5.5],
"销量(斤)": [50, 100, 20, 300]
}
df = pd.DataFrame(data)
print(df)
产品名称 单价(斤/元) 销量(斤)
0 苹果 8.5 50
1 西瓜 3.5 100
2 葡萄 10.0 20
3 梨 5.5 300df['总销售额'] = df['单价(斤/元)'] * df['销量(斤)']
print(df)
产品名称 单价(斤/元) 销量(斤) 总销售额
0 苹果 8.5 50 425.0
1 西瓜 3.5 100 350.0
2 葡萄 10.0 20 200.0
3 梨 5.5 300 1650.0print(df.nlargest(1, columns='总销售额'))
产品名称 单价(斤/元) 销量(斤) 总销售额
3 梨 5.5 300 1650.0print(df.sort_values('总销售额', ascending=False))
产品名称 单价(斤/元) 销量(斤) 总销售额
3 梨 5.5 300 1650.0
0 苹果 8.5 50 425.0
1 西瓜 3.5 100 350.0
2 葡萄 10.0 20 200.0(3)电商用户行为分析
某电商平台的用户行为数据如下:
| 用户ID | 用户名 | 商品类别 | 商品单价 | 购买数量 |
|---|---|---|---|---|
| 1 | 孙笑川 | 电子产品 | 3000 | 5 |
| 2 | 药水哥 | 服装 | 200 | 10 |
| 3 | Giao哥 | 电子产品 | 5000 | 5 |
| 4 | 刘波 | 日用 | 500 | 20 |
| 冬泳怪鸽 | 五金 | 30 | 15 |
1.计算每位用户的总消费金额
2.找出消费金额最高的用户
3.计算用户的平均消费金额(保留两位小数)
4.统计电子产品的总购买数量
import numpy as np
import pandas as pd
data = {
"用户ID": [1, 2, 3, 4, 5],
"用户名": ["孙笑川", "药水哥", "Giao哥", "刘波", "冬泳怪鸽"],
"商品类别": ["电子产品", "服装", "电子产品", "日用", "五金"],
"商品单价": [3000, 200, 5000, 500, 30],
"购买数量": [5, 10, 5, 20, 15],
}
df = pd.DataFrame(data)
print(df)
用户ID 用户名 商品类别 商品单价 购买数量
0 1 孙笑川 电子产品 3000 5
1 2 药水哥 服装 200 10
2 3 Giao哥 电子产品 5000 5
3 4 刘波 日用 500 20
4 5 冬泳怪鸽 五金 30 15df['总消费金额'] = df['商品单价'] * df['购买数量']
print(df)
用户ID 用户名 商品类别 商品单价 购买数量 总消费金额
0 1 孙笑川 电子产品 3000 5 15000
1 2 药水哥 服装 200 10 2000
2 3 Giao哥 电子产品 5000 5 25000
3 4 刘波 日用 500 20 10000
4 5 冬泳怪鸽 五金 30 15 450print(df.nlargest(1, columns='总消费金额'))
用户ID 用户名 商品类别 商品单价 购买数量 总消费金额
2 3 Giao哥 电子产品 5000 5 25000cost = df['总消费金额'].mean()
print(cost)
10490.0print(df[df['商品类别'] == '电子产品']['购买数量'].sum())
10
评论 (0)