Pandas分类总结之:预备知识

1. python基础

1.1 列表推导式与条件赋值

# 列表推导式:[function for i in interable]   /  [映射函数 for i in 迭代对象]
[my_func(i) for i in range(5)] #生成数字序列
[m+'_'+n for m in ['a', 'b'] for n in ['c', 'd']] #多层嵌套

# 条件赋值:value = a if condition else b
value = 'cat' if 2>1 else 'dog'
[i if i <= 5 else 5 for i in [1, 2, 3, 4, 5, 6, 7]] # 截断超过5的元素

1.2 匿名函数与map方法

# 匿名函数:lambda 变量:映射关系
my_func = lambda x: 2*x
[(lambda x: 2*x)(i) for i in range(5)]

# map()函数:map(function, iterable, ...)
list(map(lambda x: 2*x, range(5)))
list(map(lambda x, y: str(x)+'_'+y, range(5), list('abcde')))

1.3 zip对象与enumerate方法

# zip()函数:把多个可迭代对象打包成一个元组构成的可迭代对象,它返回了一个zip对象,通过tuple, list可以得到相应的打包结果
zip([iterable, ...])
list(zip(list('abc'), list('def'), list('hij')))
tuple(zip(list('abc'), list('def'), list('hij')))
# *操作符和zip联合使用来进行解压操作
list(zip(*zipped)) # 三个元组分别对应原来的列表

# enumerate()函数:一种特殊的打包,它可以在迭代时绑定迭代元素的遍历序号
L = list('abcd')
for index, value in enumerate(L):
     print(index, value)

2. Numpy基础

2.1 np数组的构造

# 一般方法array来构造
np.array([1,2,3])

# 等差序列
np.linspace(1,5,11) # 起始、终止(包含)、样本个数
np.arange(1,5,2) # 起始、终止(不包含)、步长

# 特殊矩阵
np.zeros((2,3)) # 传入元组表示各维度大小
np.eye(3) # 3*3的单位矩阵
np.full((2,3), 10) # 元组传入大小,10表示填充数值
np.full((2,3), [1,2,3]) # 每行填入相同的列表

# 随机矩阵
np.random.rand(3) # 生成服从0-1均匀分布的随机数组;对于服从区间a到b上的均匀分布:np.random.uniform(5, 15, 3)
np.random.randn(3) # 生成标准正态分布的随机数组;对于服从指定方差、均值的一元正态分布:np.random.normal(3, 2.5, 3)
np.random.randint(low, high, size) # 生成随机整数组,可指定最小值、最大值(不包含)和维度大小
np.random.choice(['a', 'b', 'c', 'd'], (3,3)) # 生成随机列表抽样,以一定概率和方式抽取结果,当不指定概率时为均匀采样,默认抽取方式为有放回抽样

2.3 np数组的变形与合并

# 合并操作:维度相同都可以以,维度不同只能左右合并
np.r_[np.array(),np.array()] # 上下合并
np.c_[np.array(),np.array()] # 左右合并

# 维度变换:reshape
np.arange(8).reshape((4,2), order='C') # 按照行读取和填充
np.arange(8).reshape((4,2), order='F') # 按照列读取和填充
np.arange(8).reshape((4,-1)) # reshape允许有一个维度存在空缺,此时只需填充-1即可

2.3 常用函数

np.where(a>0, a, 5) # where条件函数,对应位置为True时填充a对应元素,否则填充5

np.nonzero(a) # 返回非零数的索引
a.argmax() # 分别返回最大索引
a.argmin() # 分别返回最小索引

a.any() # 指当序列至少 存在一个 True或非零元素时返回True,否则返回False
a.all() # 指当序列元素 全为 True或非零元素时返回True,否则返回False

a.cumprod() # 累乘函数,返回同长度的数组
a.cumsum() # 累加函数,返回同长度的数组
np.diff(a) # 表示和前一个元素做差,返回长度是原数组减1

# 常用的统计函数包括max, min, mean, median, std, var, sum, quantile

2.4 广播机制

2.5 向量与矩阵的计算

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值