六、python-数据集:pandas模块及序列

pandas是一个基于NumPy的模块,它的功能在于数据的筛选清洗和处理,与NumPy模块相比,pandas模块更擅长处理二维数据。pandas模块主要有序列(Series)和数据框(DataFrame)两种数据结构。

1.1安装pandas模块

pip install pandas

1.2导入pandas模块

#导入了numpy,并使用"np"作为该模块的简写
import pandas as pd

1.3创建序列

Series,中文叫做序列,pandas模块的一种数据类型。是一个一维的、带索引(index)的数组对象。

Series和字典,有一定的相似之处。

一个字典中,通过键(key),可以访问所对应的值(value);

一个Series的索引(index)在左边,值(values)在右边,可以通过左边的索引index访问到右边对应的值values。

import pandas as pd
info=pd.Series([100,200,300,400,500])#序列的索引值默认从0开始的数字,可以不设置
print(info)
#输出结果,返回:索引,值,数据类型dtype
0    100
1    200
2    300
3    400
4    500
dtype: int64
info=pd.Series([100,200,300,400,500],index=['a','b','c','d','e'])#可以设置序列的索引值index
#输出结果,返回:索引,值,数据类型dtype
print(info)
a    100
b    200
c    300
d    400
e    500
dtype: int64

print(info.dtype)
#int64
print(info.index)
#Index(['a', 'b', 'c', 'd', 'e'], dtype='object')
print(info.values)#以数组的形式返回了变量info的值values。
#[100 200 300 400 500]

和字典不同的是,Series中的数据是有顺序的,除了直接通过index访问外,还能通过0,1,2这样的位置进行访问

import pandas as pd
#创建序列
GDP = [80855, 77388, 68024, 47251, 40471]
city = ['GD','JS','SD','ZJ','HN']

info = pd.Series(GDP,index = city)

#位置索引访问
info[0]

#输出: 80855

info[0:3]
#输出
GD    80855
JS    77388
SD    68024
dtype: int64

#索引标签访问
info['GD']
#输出:80855

1.4 序列数据统计

#导入numpy
import numpy as np
#依次创建年龄和年收入对应的数组
all_age=[23,32,21,22,25,34,24]
all_income=[154,143,114,145,132,267,198]
import pandas as pd
all_income=pd.Series(all_income,index=all_age)

#选择目标用户21-25岁人群
age=[]
for i in all_age:
    if i>=21 and i<=25:
        age.append(i)
income=all_income[age]
print(age)
print(income)

# 依次计算年龄的平均值和年收入的平均值
age_media=np.median(age)
income_media=np.median(income)

print(age_media)
print(income_media)
# 依次计算年龄的中位数和年收入的中位数
age_mean=np.mean(age)
income_mean=np.mean(income)

print(age_mean)
print(income_mean)

# TODO 根据公式,计算预期投入额=年龄中位数+收入中位数)
invest=(age_media+income_media)*0.12

# TODO 根据题目要求,格式化输出结果
print(f"目标客户为21岁-25岁年龄段客户,平均年龄为{age_mean}岁,平均年收入为{income_mean}K,年龄中位数为{age_media}岁,年收入中位数为{income_media}K,预期投入额为{invest}K")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值