看《量化投资:以python为工具》这本书,第一部分是python的基础知识。这一部分略读了,只看我还不知道或不熟的。
定义复数
1 | x = complex(2, 5) #2+5j |
也可以直接定义
1 | y = 3-6j |
用id()可以得到变量的内存地址
1 | z = 3-6j |
python可以为不可变对象分配固定的内存,减少内存占用。
当两个变量指向同一对象时,is比较结果为True。当两个变量指向的对象值相等时,==为True。
如果函数参数为可变对象,在函数内部改变此对象会影响函数外部。
1 | def testChange(x, y): |
使用个数不定的参数,可以提前打包,或者使用不定参数传递,方法是在参数前加*
1 | def manyCan(*arg): |
匿名函数,无需使用def来定义的函数,使用lambda来定义。
1 | # 匿名函数 |
若字符串中包含单引号或双引号,要将整个字符串用三个引号包含。
文本分析时,应将字符串完全转换成小写再分析。
字典对象的keys()函数查看键值,values()函数返回值。
1 | # 字典测试 |
用del语句可以删除特定键及其对应值,用clear()方法则删除整个字典,返回空字典。
Python集合有set和frozenset两种,均不含重复元素,前者可变,后者不可变。
set用add()和remove()来增删成员。
使用arange创建array是不包含终点值的,要包含终点值,使用linspace。
不知道初始值时,用zeros(), ones()或empty()创建。
通过切片索引提取的array与原array共享内存,通过整型索引提取则不与原数组共享内存。
每个series对象实际上都由两个数组组成:index和values。
时间序列的index属性的取值为时间戳。用Timestamp()来将datetime转换为时间戳。由于其不接受列表等可迭代对象,用to_datetime()函数。
滞后操作:将t期数据换成t-a期数据。
超前操作:将t期数据换成t+a期数据。
标签索引与切片,用loc[行标签,列标签]
位置索引与切片,用iloc[行标签,列标签]
混合上述两者,用ix。(但python提示ix将被废弃)
我发文章的四个地方,欢迎大家在朋友圈等地方分享,欢迎点“在看”。
我的个人博客地址:https://zwdnet.github.io
我的博客园博客地址: https://www.cnblogs.com/zwdnet/
我的知乎文章地址: https://www.zhihu.com/people/zhao-you-min/posts
我的微信个人订阅号:赵瑜敏的口腔医学学习园地