Python 景区游客统计

61 阅读4分钟

统计景区游客

Step1: 计算张家界的游客总量

Step2: 计算香港的游客总量

Step3: 计算东部华侨城的游客总量

Step4: 计算上海迪士尼的游客总量

分解代码

Step1: 计算张家界的游客总量

# 张家界旅游的总人数
data_file = open("tourist_data.csv","r")
all_data = csv.reader(data_file)
zjj_data = [row[2] for row in all_data]
zjj_data_str = zjj_data[1:]
zjj_data = list(map(int, zjj_data_str))
zjj_total = getTotalTourist(zjj_data)
print("该时期到张家界旅游的总人数是:", zjj_total)
data_file.close()

Step2: 计算香港的游客总量

# 香港旅游的总人数
data_file = open("tourist_data.csv","r")
all_data = csv.reader(data_file)
hk_data = [row[3] for row in all_data]
hk_data_str = hk_data[1:]
hk_data = list(map(int, hk_data_str))
hk_total = getTotalTourist(hk_data)
print("该时期到香港旅游的总人数是:", hk_total)
data_file.close()

Step3: 计算东部华侨城的游客总量

# 东部华侨城旅游的总人数
data_file = open("tourist_data.csv","r")
all_data = csv.reader(data_file)
dbhqc_data = [row[4] for row in all_data]
dbhqc_data_str = dbhqc_data[1:]
dbhqc_data = list(map(int, dbhqc_data_str))
dbhqc_total = getTotalTourist(dbhqc_data)
print("该时期到东部华侨城旅游的总人数是:", dbhqc_total)
data_file.close()

Step4: 计算上海迪士尼的游客总量

# 上海迪士尼旅游的总人数
data_file = open("tourist_data.csv","r")
all_data = csv.reader(data_file)
shdsn_data = [row[5] for row in all_data]
shdsn_data_str = shdsn_data[1:]
shdsn_data = list(map(int, shdsn_data_str))
shdsn_total = getTotalTourist(shdsn_data)
print("该时期到上海迪士尼旅游的总人数是:", shdsn_total)
data_file.close()
完整python代码:
import csv
# 定义求和函数
def getTotalTourist(place):
    # place:一维数组,存放某个景区每日游客人数
    total = 0  # 保存游客总人数 初始化为0
    for num in place:
        total += num
    return total
'''
with open("tourist_data.csv","r",encoding="gbk") as file:
    all_data = csv.reader(file)  #整体数据
    for item in all_data:
        print(item)
    file.seek(0) #把文件指针重新指向文件开头
    # 1. 统计九寨沟游客人数
    # 从整体数据中 筛选出九寨沟游客人数
    jzg_data = []
    for item in all_data:
        jzg_data.append(item[1])
    print(jzg_data)
    # 删除掉第一个数据
    jzg_data = jzg_data[1:]
    print(jzg_data)
    jzg_data = list(map(int, jzg_data))
    print(jzg_data)
    # 计算九寨沟游客总人数
    jzg_total = getTotalTourist(jzg_data)
    print("九寨沟游客总人数:", jzg_total)
'''
# 张家界旅游的总人数
data_file = open("tourist_data.csv","r")
all_data = csv.reader(data_file)
zjj_data = [row[2] for row in all_data]
zjj_data_str = zjj_data[1:]
zjj_data = list(map(int, zjj_data_str))
zjj_total = getTotalTourist(zjj_data)
print("该时期到张家界旅游的总人数是:", zjj_total)
data_file.close()

# 香港旅游的总人数
data_file = open("tourist_data.csv","r")
all_data = csv.reader(data_file)
hk_data = [row[3] for row in all_data]
hk_data_str = hk_data[1:]
hk_data = list(map(int, hk_data_str))
hk_total = getTotalTourist(hk_data)
print("该时期到香港旅游的总人数是:", hk_total)
data_file.close()

# 东部华侨城旅游的总人数
data_file = open("tourist_data.csv","r")
all_data = csv.reader(data_file)
dbhqc_data = [row[4] for row in all_data]
dbhqc_data_str = dbhqc_data[1:]
dbhqc_data = list(map(int, dbhqc_data_str))
dbhqc_total = getTotalTourist(dbhqc_data)
print("该时期到东部华侨城旅游的总人数是:", dbhqc_total)
data_file.close()

# 上海迪士尼旅游的总人数
data_file = open("tourist_data.csv","r")
all_data = csv.reader(data_file)
shdsn_data = [row[5] for row in all_data]
shdsn_data_str = shdsn_data[1:]
shdsn_data = list(map(int, shdsn_data_str))
shdsn_total = getTotalTourist(shdsn_data)
print("该时期到上海迪士尼旅游的总人数是:", shdsn_total)
data_file.close()
完整numpy代码:
import numpy as np
# 1. 读取数据
(jzg_data, zjj_data, hk_data, dbhqc_data, shdsn_data,) = np.loadtxt (
    "tourist_data.csv",
    encoding="gbk",
    skiprows = 1,  # 跳过第一行
    dtype = np.int64,  # 设置数据类型为整数
    usecols = (1, 2, 3, 4, 5), # 指定读取列
    delimiter = ",", # 设置分隔符
    unpack = True  # 转置
)

print("九寨沟游客总人数: \n", jzg_data)
print("该时期到张家界旅游的总人数是: \n", zjj_data)
print("该时期到香港旅游的总人数是: \n", hk_data)
print("该时期到东部华侨城旅游的总人数是: \n", dbhqc_data)
print("该时期到上海迪士尼旅游的总人数是: \n", shdsn_data)

# 2.
print("九寨沟游客总人数: ", jzg_data.sum)
print("该时期到张家界旅游的总人数是: ", zjj_data.sum)
print("该时期到香港旅游的总人数是: ", hk_data.sum)
print("该时期到东部华侨城旅游的总人数是: ", dbhqc_data.sum)
print("该时期到上海迪士尼旅游的总人数是: ", shdsn_data.sum)
完整pandas代码:
import pandas as pd
# 1. 读取数据
data = pd.read_csv(
    "tourist_data.csv",
    encoding="gbk",  # 设置文件编码
    index_col = "日期",  #  设置"日期"列为索引列
    header = 0, # 将一行设置为标题行
)
print(data)
print(type(data))

# 2. 求每个景点的游客人数
print("九寨沟游客总人数: ", data['九寨沟'].sum())
print("该时期到张家界旅游的总人数是: ", data['张家界'].sum())
print("该时期到香港旅游的总人数是: ", data['香港'].sum())
print("该时期到东部华侨城旅游的总人数是: ", data['东部华侨城'].sum())
print("该时期到上海迪士尼旅游的总人数是: ", data['上海迪士尼'].sum())