模拟某商场2020年12个月的服装,化妆品,日用品的销量量表,建立名为sales的数据框对象。要求:
1销售数据使用随机数生成(每种商品的销量都不超过50),使用时间序列对象作为数据框的行索引。
(2)查询6月份“化妆品”的销售量。
(3)查询5月份和10月份的销售记录。
(4)查询“服装”销量为20×35的销售记录。
(5)查询“服装”和“化妆品”销量都超过
30(含)的销售记录。
(6)按“日用品”销量的降序排序(返回新的数据框对象)。
(7)统计2020年各商品的销售总量。
(8)统计每个月的销售总量。
(9)自行选择其他查询目标并完成数据查询。
import pandas as pd
import numpy as np
# 生成随机数据
np.random.seed(2020)
sales_data = np.random.randint(1, 51, (12, 3))
dates = pd.date_range('2020-01-01', periods=12, freq='M')
# 创建 DataFrame 对象
sales = pd.DataFrame(sales_data, index=dates, columns=['服装', '化妆品', '日用品'])
# 查询6月份“化妆品”的销售量
jun_cosmetics_sales = sales.loc['2020-06', '化妆品']
print("6月份化妆品的销售量为:", jun_cosmetics_sales)
# 查询5月份和10月份的销售记录
may_oct_sales = sales.loc[['2020-05', '2020-10']]
print("5月份和10月份的销售记录为:\n", may_oct_sales)
# 查询“服装”销量为20×35的销售记录
clothing_sales = sales[(sales['服装'] == 20) & (sales['化妆品'] == 35)]
print("服装销量为20×35的销售记录为:\n", clothing_sales)
# 查询“服装”和“化妆品”销量都超过30(含)的销售记录
high_sales = sales[(sales['服装'] >= 30) & (sales['化妆品'] >= 30)]
print("服装和化妆品销量都超过30的销售记录为:\n", high_sales)
# 按“日用品”销量的降序排序
sorted_sales = sales.sort_values(by='日用品', ascending=False)
print("按日用品销量降序排序后的销售记录为:\n", sorted_sales)
# 统计2020年各商品的销售总量
total_sales_by_item = sales.sum()
print("2020年各商品的销售总量为:\n", total_sales_by_item)
# 统计每个月的销售总量
total_sales_by_month = sales.sum(axis=1)
print("每个月的销售总量为:\n", total_sales_by_month)
# 自行选择其他查询目标并完成数据查询
# 统计化妆品的总销售量
cosmetics_sales_total = sales['化妆品'].sum()
print("2020年化妆品的销售总量为:", cosmetics_sales_total)