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

被折叠的 条评论
为什么被折叠?



