数据挖掘:Joyful Pandas:01 预备知识

本文档详细介绍了Pandas学习前的基础知识,包括Python中的列表推导式与条件赋值,匿名函数与map方法的使用,以及zip对象和enumerate方法。此外,还介绍了Numpy的基础,如数组构造、变形、合并、切片索引及常用函数。通过实例解析,帮助读者巩固Python和Numpy的基本操作,为后续Pandas的学习打下坚实基础。

第20期Pandas组队学习


0 知识串联

1. 预备知识
2. pandas 基础


1. 预备知识

1.1 Python 基础

1.1.1 列表推导式的与条件赋值

  • 函数定义:def
  • 尾部添加数据:append
L=[]

def my_func(x):
    return 2*x

for i in range(5):
    L.append(my_func(i))
    
print(L)
[0, 2, 4, 6, 8]
(1)一层嵌套实例

列表推导式:[ * for i * ],其中第一个 * 为映射函数,第二个为迭代对象。== 所以也可以写成

[my_func(i) for i in range(5)]

(2)多层嵌套实例

列表表达式还支持多层嵌套,如下面的例子中第一个 for 为外层循环,第二个为内层循环:

[m+'_'+n for m in ['a','b'] for n in ['c','d']]
['a_c', 'a_d', 'b_c', 'b_d']
(3)条件赋值实例

除了列表推导式,另一个实用的语法糖是条件赋值,其形式为 a if condition else b

value ='cat' if 2>1 else 'dog'

print(value)
cat

等价于如下的写法:

a,b ='cat','dog'
condition = 2 > 1
if condition:
    value = a
else:
    value = b

下面举一个例子,截断列表中超过 5 的元素:

L=[1,2,3,4,5,6,7]
M = [i if i<=5 else 5 for i in L]

print(M)
[1, 2, 3, 4, 5, 5, 5]

1.1.2 匿名函数与map()方法

my_func=lambda x:2*x
my_func(3)
6

有一些函数的定义具有清晰简单的映射关系,例如上面的 my_func 函数,这时候可以用匿名函数的方法简洁地表示

(1)匿名函数:lambda

匿名函数补充:https://www.liaoxuefeng.com/wiki/1016959663602400/1017451447842528

multi_para_func=lambda a,b:a+b
multi_para_func(1,2)
3

但上面的用法其实违背了“匿名”的含义,事实上它往往在无需多处调用的场合进行使用,例如上面列表推导式中的例子,用户不关心函数的名字,只关心这种映射的关系:

[(lambda x: 2*x)(i) for i in range(5)]
 [0, 2, 4, 6, 8]
(2)map

对于上述的这种列表推导式的匿名函数映射,Python 中提供了 map 函数来完成,它返回的是一个 map 对象,需要通过 list 转为列表

map()补充:https://www.cnblogs.com/luoahong/p/12036508.html

list(map(lambda x:2*x,range(5)))
 [0, 2, 4, 6, 8]

对于多个输入值的函数映射,可以通过追加迭代对象实现:

list(map(lambda x,y:str(x)+'_'+y,range(5),list('abcde')))
['0_a', '1_b', '2_c', '3_d', '4_e']

1.1.3 zip对象与enumerate方法

1.2 Numpy 基础

1.2.1 np 数组的构造

1.2.2 np 数组的变形与合并

1.2.3 np 数组的切片与索引

1.2.4 常用函数

1.2.5 广播机制

1.2.6 向量与矩阵的计算

1.3 练习

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羊老羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值