python量化开发3|常用相关库和函数知识点

今天是2017.4.20r。

年后这么久才实习,这是第四天了,这几天看着代码一直是处于困和好困的状态。说实话自己还不擅长和别人打招呼,然后和小组的人吃饭都感觉拘束的不行,就当是一种锻炼吧总是要经历的。(自我安慰)

想到上周日晚上和学良坐城际回来sz,他跟我一样公司要求必须实习,于是两人就感叹有点不明白为什么快毕业了别人都是趁着论文送审后出去到处耍,而我们却还这么苦逼,我自己还要想着三方和驾照的事。反正对于自己可能真的还没有从心理上达到工作的状态,我也想要毕业旅行啊啊啊啊啊。

上一篇的知识点介绍是年前实习记录的一点,现在去看已经没有什么印象了。后面的工作涉及基金评价的开发,这几天看代码时又陆陆续续看到有用到python和数据库、用python计算一些指标等,自己对python很多库中的函数都没接触过,所以这里再接着记录一些。


1、二重MultiIndex的Series可以unstack()成DataFrame
data:

Row_1  Col_1     0        Row_2  Col_1     4
       Col_2     1               Col_2     5
       Col_3     2               Col_3     6
       Col_4     3               Col_4     7

Row_3  Col_1     8        Row_4  Col_1    12
       Col_2     9               Col_2    13
       Col_3    10              Col_3    14
       Col_4    11              Col_4    15

data.unstack():

Paste_Image.png

2、datetime库使用
datetime.datetime.strftime():用于将任何日期时间转化为指定时间格式字符串的函数
datetime.datetime.strptime():将字符串转为指定日期型的函数;

Paste_Image.png

3、replace(0,np.nan) :表示用null值来替换0

4、dropna():表示去除掉null值

5、set_index(‘NAME’):表示将列NAME设为固定的索引列,不再作为值

6、resample: Pandas中的resample,重新采样,一般是对原来的一段时间样本重新处理的一个方法。
常见的可取resample(‘d/w/m/q’)四个值 ,分别对应每天、每周周天、每个月月末、每个季度末。
Resample(‘d’).last()后一般跟一个last(),用于显示抽样出来的值。

例如:fund_nav=fund_nav.replace(0,np.nan).dropna().set_index('enddate').resample('D').last()
其中set_index('enddate').resample('D') 是将enddate作为了固定的index,然后以日期进行resample重新取样。

7、st=fund_nav.index[0]-pd.Timedelta(days=10):表示st起始日期取10天前的日期。

8、sql中where条件下的1=1
使用 where 1=1 的好处
假如我们将上述的语句改为:
  string MySqlStr=”select * from table where 1=1 ”;
  if(Age.Text.Lenght>0)
  {
    MySqlStr=MySqlStr+“and Age=“+“'Age.Text'“;
  }
  if(Address.Text.Lenght>0)
  {
    MySqlStr=MySqlStr+“and Address=“+“'Address.Text“;
  }
  现在,也存在两种假设
  ①种假设
  如果两个IF都成立,那么,语句变为:
  MySqlStr=”select * from table where 1=1 and Age='18' and Address='云南省文山州广南县小波吗村'”,很明显,该语句是一条正确的语句,能够正确执行,如果数据库有记录,肯定会被查询到。
  ②种假设
  如果两个IF都不成立,那么,语句变为:MySqlStr=”select * from table where 1=1”,现在,我们来看这条语句,由于where 1=1 是为True的语句,因此,该条语句语法正确,能够被正确执行,它的作用相当于:MySqlStr=”select * from table”,即返回表中所有数据。

9、python中len()函数可以用来计算字符串、列表以及字典的长度。

10、Python 字典(Dictionary) update() 函数
dict.update(dict2) 用于把字典dict2的键/值对更新到dict里

11.png

11、 shift()函数的使用, nav_S.shift(1)用于将series nav_S中的值整体向后移动1

12、 python中copy()和deepcopy()的区别

12.png

13、缺失值填充方法——ffill()和 bfill()
当一个series中出现缺失值时,用ffill()表示用空值的前一个值来填充,bfill()则表示用空值后面的值来填充。

obj3 = Series(['blue', 'purple', 'yellow'], index=[1, 2, 4])
a=obj3.reindex(range(6), method='ffill')
结果为:
0      blue
1      blue
2    purple
3    purple
4    yellow
5    yellow

14、pandas中iloc、loc、ix的区别是什么?
区别在于:

  • iloc是根据前多少行/列来确定值,只能接收整数
  • loc则是接收字典中的“索引值”来得到相应数值,若给的索引值不存在,则返回错误
  • ix既可以接收取前多少行的整数值,也可以接收索引值。
    s = pd.Series(np.nan, index=[49,48,47,46,45, 1, 2, 3, 4, 5])

例如:
df.iloc[3]表示取第3行的值;df.loc[3]则表示取索引值为3的值;df.ix[:'c', :4]则表示取索引值为‘c’的前几行,以及前4列的值

15、dropna()的 使用
b=a.dropna(),则直接将a中的nan值给删除掉了

0    purple  
1    purple
2    purple
3    yellow
4    yellow
5       NaN

0    purple
1    purple
2    purple
3    yellow
4    yellow
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,744评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,505评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,105评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,242评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,269评论 6 389
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,215评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,096评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,939评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,354评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,573评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,745评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,448评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,048评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,683评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,838评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,776评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,652评论 2 354

推荐阅读更多精彩内容