Erramalli Ramesh 44岁
其实我也没搞明白。想一想,估计1. 媒体部长渲染 2. 他伤了85%的住hdb的居民(1.5w 买个condo就这样的待遇+他是外来移民)...第二项我感觉算是政治错误。
我感觉伤和大众渲染是有联系的,虽然我也听不出有什么问题
炫富,嚣张,侮辱这种字眼
还有老保安
想想各种大型示威都是这么被鼓动起来的,情感牌这招挺厉害
情感痛点,一触即发。
新 - 外来移民,住租屋,穷
香 - 失去民主,中傀儡
Thursday, October 31, 2019
Tuesday, October 29, 2019
verification tip
1. summary function
isnull().sum()
not allowing any nan that leaks information
2. boundary checking
3. unit test test and test
isnull().sum()
not allowing any nan that leaks information
2. boundary checking
3. unit test test and test
Productivity Tip
1. Have a Cache.py and Info_Cache.py to record repeated used code and info;
2. Read briefly for other ppl implementation, come back and read again after your implementation (see important things and get insightful things quicker);
3. Set shortcut for repeated access folder and file (e.g., item 1 file)
4. have a logs of what you have done (for those be mindful or to undo later)
5. use bookmark in pycharm is possible if you are changing multiple files
6. change portion by portion - test each portion before moving on to the next one
7. familiar with the software engineering pattern, use them if possible
- with distributedstrategy: (what is this pattern?)
8. no wechat, etc. when you are doing big refactoring, easily loss track
[easier step each time - it lead you to the next step]
change run_cv_supervised
-> discover [I just need to have a method to split out X_train,Y_train,X_test,y_test]
Delete run_cv_supervised back and change run_cv_normal
->discover [I can separate the cross validation recording out to make it simpler]
2. Read briefly for other ppl implementation, come back and read again after your implementation (see important things and get insightful things quicker);
3. Set shortcut for repeated access folder and file (e.g., item 1 file)
4. have a logs of what you have done (for those be mindful or to undo later)
5. use bookmark in pycharm is possible if you are changing multiple files
6. change portion by portion - test each portion before moving on to the next one
7. familiar with the software engineering pattern, use them if possible
- with distributedstrategy: (what is this pattern?)
8. no wechat, etc. when you are doing big refactoring, easily loss track
[easier step each time - it lead you to the next step]
change run_cv_supervised
-> discover [I just need to have a method to split out X_train,Y_train,X_test,y_test]
Delete run_cv_supervised back and change run_cv_normal
->discover [I can separate the cross validation recording out to make it simpler]
endogenous vs exogenous and seq2seq done
https://machinelearningmastery.com/taxonomy-of-time-series-forecasting-problems/
endogenous - output depends on it, and it depends on others (including itself) (e.g., other product sales)
vs
exogenous - only output depends on it (e.g. school holiday)
昨天终于把seq2seq搭起来,
还把另一个stacked lstm 搭起来,
浓厚的成就感。
进过了三天的全时间投入,现在一看到lstm的code就大概知道在干嘛的。
和前几年,不停地去看同一个code-based,一下忘了,真不能同日而雨。
全身心投入,可以解决很多问题,学会很多东西。
endogenous - output depends on it, and it depends on others (including itself) (e.g., other product sales)
vs
exogenous - only output depends on it (e.g. school holiday)
昨天终于把seq2seq搭起来,
还把另一个stacked lstm 搭起来,
浓厚的成就感。
进过了三天的全时间投入,现在一看到lstm的code就大概知道在干嘛的。
和前几年,不停地去看同一个code-based,一下忘了,真不能同日而雨。
全身心投入,可以解决很多问题,学会很多东西。
Sunday, October 27, 2019
Seq2Seq实践感言
纸上看的话是不会注意到这些的。
1. encoder_inputs = Input(shape=(None, feature_cnt)
设置None是为了inference的时候可以用1, training的时候可以用30
2. training 和testing 的差别除了item 1, 还有 encoder 和decoder是分开来的,decoder是一个一个lstm cell run
3. static model - specify model的时候是没有input parameters的,specify 完后就能把input/output 的shape完整知道, 当然有些是None,这是唯一的flexibility (runtime decide)
4. [(None, 256),(None, 256),(None, 256)] 这种shape确实是一个list里三个numpy array
1. encoder_inputs = Input(shape=(None, feature_cnt)
设置None是为了inference的时候可以用1, training的时候可以用30
2. training 和testing 的差别除了item 1, 还有 encoder 和decoder是分开来的,decoder是一个一个lstm cell run
3. static model - specify model的时候是没有input parameters的,specify 完后就能把input/output 的shape完整知道, 当然有些是None,这是唯一的flexibility (runtime decide)
4. [(None, 256),(None, 256),(None, 256)] 这种shape确实是一个list里三个numpy array
网球实践
今天打网球 有点心领神会 当发现它有点类似乒乓球时。
另,jupyter notebook,以前看啊看的,现在一直沉浸其中,有了很大的进步。
另,以前看了很多consultant的东西,现在时间了一下,忽然知道了重点。
知识是在时间中升华,而不是在纸上。
纸上,你可以各种知识,但是你不知道关键,而且容易忘记。
实践,你知道关键,不去学说有的,学的都是精华会用上的。
实践是个好东西。
另,jupyter notebook,以前看啊看的,现在一直沉浸其中,有了很大的进步。
另,以前看了很多consultant的东西,现在时间了一下,忽然知道了重点。
知识是在时间中升华,而不是在纸上。
纸上,你可以各种知识,但是你不知道关键,而且容易忘记。
实践,你知道关键,不去学说有的,学的都是精华会用上的。
实践是个好东西。
Saturday, October 26, 2019
seq2seq
今天coding方面了解了seq2seq, 越来是这么回事。
感觉keras了解起来容易多了。
arima-garch越来也是sequential进行的两项活动,arima选了最佳p,q 给garch用。
今天到公司去,认识了以为同事,发现越来是is 前系主任的老婆,神奇。
明天就是见证着两个method的结果了。
后面想要对XAI 和CV两个方面都了解下。
感觉keras了解起来容易多了。
arima-garch越来也是sequential进行的两项活动,arima选了最佳p,q 给garch用。
今天到公司去,认识了以为同事,发现越来是is 前系主任的老婆,神奇。
明天就是见证着两个method的结果了。
后面想要对XAI 和CV两个方面都了解下。
Wednesday, October 23, 2019
framework
今天把剩下的data问题解决了,检查了下avg 3mths calculation, 然后给column name标注下
model 的花,把by category弄了起来,然后support 多个model实验,还有by product 的结果。
这样下来,明天
- arima-garch (for high volume)
- lstm autoencoder (for low volume)
看看效果如何
model 的花,把by category弄了起来,然后support 多个model实验,还有by product 的结果。
这样下来,明天
- arima-garch (for high volume)
- lstm autoencoder (for low volume)
看看效果如何
慢慢慢
最近deadline比较紧
发现如果脑子里满是deadline紧绷
效果不如平常工作中那种松紧。
大可以忘了deadline,享受于工作中。
实际想想,deadline也是自己给自己的枷锁。
学习Vikesh。
这样有利于自己,有利于产出,有利于个人良好心理。
发现如果脑子里满是deadline紧绷
效果不如平常工作中那种松紧。
大可以忘了deadline,享受于工作中。
实际想想,deadline也是自己给自己的枷锁。
学习Vikesh。
这样有利于自己,有利于产出,有利于个人良好心理。
Tuesday, October 22, 2019
framework for experimentation
scoring record (individual and overall)
visualization
feature extraction
driver
util
model
搞一天,主要把driver 和model 分开来了
检查一下还是有data leak, 和一些date 的片段木有handle
于是修正了
今天就搞了这些。
明天来搞剩下的
refactor 感言
一块一块弄
jupyter notebook感言
也是一块一块弄
不是全部一起弄
弄之前要backup来比对
framework上以后也可以用它来做别的用途,还是可以的。
visualization
feature extraction
driver
util
model
搞一天,主要把driver 和model 分开来了
检查一下还是有data leak, 和一些date 的片段木有handle
于是修正了
今天就搞了这些。
明天来搞剩下的
refactor 感言
一块一块弄
jupyter notebook感言
也是一块一块弄
不是全部一起弄
弄之前要backup来比对
framework上以后也可以用它来做别的用途,还是可以的。
Monday, October 21, 2019
LSTM multivariate input and multistep output
记录一下今天所学/复习,LSTM是个相当有用的东西。
1. multivariate input
multivariate simply set n_features, and size array accordingly
2. multistep output
2.1. for normal multistep
1. multivariate input
multivariate simply set n_features, and size array accordingly
2. multistep output
2.1. for normal multistep
model = Sequential() model.add(LSTM(100, activation='relu', return_sequences=True, input_shape=(n_steps_in, n_features))) model.add(LSTM(100, activation='relu')) model.add(Dense(n_steps_out)) #use a Dense layer with n output
[output with an array of size n_steps_out]
2.2. for encoder/decoder multistep
model = Sequential() model.add(LSTM(100, activation='relu', input_shape=(n_steps_in, n_features))) model.add(RepeatVector(n_steps_out)) # repeat n_features output as input to the following model.add(LSTM(100, activation='relu', return_sequences=True)) model.add(TimeDistributed(Dense(1))) model.compile(optimizer='adam', loss='mse')[has timedistributed output each with size 1]
3. side note3.1. for cnn/lstm - time distributed cnn before pass in to lstm
(sample, subsequence, steps, features)
model = Sequential() model.add(TimeDistributed(Conv1D(64, 1, activation='relu'), input_shape=(None, n_steps, n_features))) model.add(TimeDistributed(MaxPooling1D())) model.add(TimeDistributed(Flatten())) model.add(LSTM(50, activation='relu')) model.add(Dense(1)) model.compile(optimizer='adam', loss='mse')3.2. for convlstm(sample, steps, row, columns, features)
model = Sequential()
model.add(ConvLSTM2D(64, (1,2), activation='relu', input_shape=(n_steps, 1,n_seq, n_features))) model.add(Flatten()) model.add(Dense(1)) model.compile(optimizer='adam', loss='mse')we have 1 row here as it is easy to interpret time series as 1 dimension
Sunday, October 20, 2019
忙碌的星期天
发现我们的工作性质是,不忙的时候挺多时间,忙起来的时候没日没夜,然后到各种地方去。有点像做研究的时候。
最近就想把大方向弄完
1. arima, lstm, ensemble
2. 更多feature
3. 什么样的model适合什么样的场景。
4. 开始做slides,和弄results。
周一
把 models 弄好
周二
把 features 弄好
周三
弄slides
周四
继续弄
GDP per capita
当人民素质越高,能创造出的GDP也有可能提高。
如果此时告诉大家,你们做什么工作都一样;按自己兴趣去做。
然后建筑业,services, 成本都会提高。
于是这也带动了GDP。
所以人的素质提高是一个关键-这是现在的感觉,虽然对经济模式没有完全的懂。
如果此时告诉大家,你们做什么工作都一样;按自己兴趣去做。
然后建筑业,services, 成本都会提高。
于是这也带动了GDP。
所以人的素质提高是一个关键-这是现在的感觉,虽然对经济模式没有完全的懂。
班门弄斧 - 并不一定是坏事
班门弄斧是华人的成语,不是阿三的。
他们在班门前,会评价班门用斧头的方式,然后很情绪化的说明怎么用斧头自己真诚的觉得比较好,然后在前面杂耍一下。
旁人看着觉得这杂耍的很有自信,不明觉历,于是乎相信了杂耍,而不是班门。
杂耍的人甚至可以直接用班门的东西 来描绘自己的结果,因为看的人並沒有看到砍树的过程。
这个套路,很厉害。
其实,如果某人要和班门竞争,这个套路是最优的。
那班门应该怎么做?
- 把杂耍,情绪的本质说清楚,因为班门并不善于杂耍,也不善于使用情绪,只懂得用事实说话。
- 用结果说话 - 因为班门善于制造的是结果 - 然后比较结果。
现在看的人就是line of business。
其实班门学会杂耍很重要。
追上的杂耍可以忽悠一群人。
不需要懂得太深,甚至不知道的东西都可以杂耍 (或者浅层的深入+vivid+带有看似启发性的描绘)。
他们在班门前,会评价班门用斧头的方式,然后很情绪化的说明怎么用斧头自己真诚的觉得比较好,然后在前面杂耍一下。
旁人看着觉得这杂耍的很有自信,不明觉历,于是乎相信了杂耍,而不是班门。
杂耍的人甚至可以直接用班门的东西 来描绘自己的结果,因为看的人並沒有看到砍树的过程。
这个套路,很厉害。
其实,如果某人要和班门竞争,这个套路是最优的。
那班门应该怎么做?
- 把杂耍,情绪的本质说清楚,因为班门并不善于杂耍,也不善于使用情绪,只懂得用事实说话。
- 用结果说话 - 因为班门善于制造的是结果 - 然后比较结果。
现在看的人就是line of business。
其实班门学会杂耍很重要。
追上的杂耍可以忽悠一群人。
不需要懂得太深,甚至不知道的东西都可以杂耍 (或者浅层的深入+vivid+带有看似启发性的描绘)。
无限期delay的突破
有些东西无限期delay 没什么印象。
有些东西 却不是。
比如学习英文, 比如algorithm, 比如XAI+CV,没有影响只是表象。
需要给他们调个位置,安排来前面。
整理东西什么的,不整理,到时没什么影响。
有些东西 却不是。
比如学习英文, 比如algorithm, 比如XAI+CV,没有影响只是表象。
需要给他们调个位置,安排来前面。
整理东西什么的,不整理,到时没什么影响。
Melbourne - Diversity
1. 看到了来自非洲(somalia, kenya, sudan), 欧洲(macedonia, UK, greece),亚洲,的人们;
2. 澳洲人比较不academy focus, 比较experience focus, also interested in DIY (一方面那里人工贵);
2. 澳洲人比较不academy focus, 比较experience focus, also interested in DIY (一方面那里人工贵);
Friday, October 18, 2019
真实的他 - 阿三的优势
他的behavior 出乎我意料之外,记一下,有些地方值得学习:
1. 骨子里就是marketing,面不改色,和司机/stackholder 交谈,依旧侃侃而谈
2. 还没做出来 - 但是对于做的东西充满了emotion, the data is amazing, the data is fantastic...然后开始怀疑我给的public data...这在中国人是不会发生的。阿三是emotion before factual, 中国人相反
3. 做出来的东西,就要一个人一个人去说。说的时候声色动人。this is really an amazing discovery...blah blah blah...
4. 感觉他没有准备,其实他是有准备的。阿三特别注重presentation,然后显得没有准备直接上去的样子。
5. 虽然知道自己不行,但是并没有表现出来,只是偶尔在我的面前显露一下。
6. Important - 在business user 或者不懂技术的c level 面前,他能吹的比我好。这就是为什么很多高层是阿三的其中一个原因。所以要锻炼的是,怎么对business user 描述我们做的东西。Deborah 做的就很好。可以拿她的一些段子记下来。
对于business user, 不是用技术字眼忽悠就好,也要让他们听的懂,感觉有所领悟。要想一下和马云鸡汤一样的段子。
1. 骨子里就是marketing,面不改色,和司机/stackholder 交谈,依旧侃侃而谈
2. 还没做出来 - 但是对于做的东西充满了emotion, the data is amazing, the data is fantastic...然后开始怀疑我给的public data...这在中国人是不会发生的。阿三是emotion before factual, 中国人相反
3. 做出来的东西,就要一个人一个人去说。说的时候声色动人。this is really an amazing discovery...blah blah blah...
4. 感觉他没有准备,其实他是有准备的。阿三特别注重presentation,然后显得没有准备直接上去的样子。
5. 虽然知道自己不行,但是并没有表现出来,只是偶尔在我的面前显露一下。
6. Important - 在business user 或者不懂技术的c level 面前,他能吹的比我好。这就是为什么很多高层是阿三的其中一个原因。所以要锻炼的是,怎么对business user 描述我们做的东西。Deborah 做的就很好。可以拿她的一些段子记下来。
对于business user, 不是用技术字眼忽悠就好,也要让他们听的懂,感觉有所领悟。要想一下和马云鸡汤一样的段子。
Wednesday, October 16, 2019
如果我是他
如果我是他时,我希望有人理解:
1. Soothing - It's ok for not performing this time, and I totally understand that it takes time to grow the skill
2. Fact - But you need to be aware that the project has limited time, no one will hope that their member cannot deliver.
3. Call for Action - My advice is that, you should focus on what you can do best during project delivery period, and focus on learning during rest period.
1. Soothing - It's ok for not performing this time, and I totally understand that it takes time to grow the skill
2. Fact - But you need to be aware that the project has limited time, no one will hope that their member cannot deliver.
3. Call for Action - My advice is that, you should focus on what you can do best during project delivery period, and focus on learning during rest period.
站在同事立场
以前+现在的我
- 假装没事,让时间冲淡一切
但是过去的经验是,这会留下一个pivoting, 除非你未来performs better (i.e., 达到我想要的), 不然这很难能冲淡一起,而且可能会越抹越黑。
但是我希望他
1. 歉意 - Sorry that I could not deliver anything for this time;
2. 说明 - I have already tried my best to get my things done at the time;
3. 达到我想要的 - From now onwards, I hope to get your advice on how to get things done better and how to contribute to our overall results better.
当我是他时,估计会看不清,还不如在我看的清楚时,先记录一下,给自己一个借鉴。
- 假装没事,让时间冲淡一切
但是过去的经验是,这会留下一个pivoting, 除非你未来performs better (i.e., 达到我想要的), 不然这很难能冲淡一起,而且可能会越抹越黑。
但是我希望他
1. 歉意 - Sorry that I could not deliver anything for this time;
2. 说明 - I have already tried my best to get my things done at the time;
3. 达到我想要的 - From now onwards, I hope to get your advice on how to get things done better and how to contribute to our overall results better.
当我是他时,估计会看不清,还不如在我看的清楚时,先记录一下,给自己一个借鉴。
Tuesday, October 15, 2019
Boss
有个同事 和我做一样的东西 然后没结果
又不愿意做另一样东西 - feature extraction
于是老板让他
1. 做另一个东西,然后称之为 model
2. 让我run sprint review
这个恰好解决了我两大压力点。
这里主要强调的是出力点。
这和LY有异曲同工之妙。不起眼,尤其是item 2,但是正中下怀,而且是我没想到的。
还有一个地方,就是不哆嗦,言简有力。
还有就是时机,在1-1之后。
又不愿意做另一样东西 - feature extraction
于是老板让他
1. 做另一个东西,然后称之为 model
2. 让我run sprint review
这个恰好解决了我两大压力点。
这里主要强调的是出力点。
这和LY有异曲同工之妙。不起眼,尤其是item 2,但是正中下怀,而且是我没想到的。
还有一个地方,就是不哆嗦,言简有力。
还有就是时机,在1-1之后。
Sunday, October 13, 2019
Saturday, October 12, 2019
crowdsourcing solution
1. minimal input output example
2. your code
3. ask for solution in stackoverflow
我在想有没有可能把研究问题变成program 问题 放上stackoverflow 呢。
另外,最好的公司,其实就是stackoverflow, 因为上面有着各种不同专长的专家。
大公司
1. 零部件 - 大公司的sales 需要将大公司各种部门集合起来完成一个client的task
2. 借resource - 大公司的老板在自己员工不够的时候,可以去借贷,结果自己享受,又不用承担人数。
3. sales - sales 会把时间花在能close的account上,尤其是Q4, 因为来年account不一定是自己的,如果花时间在其他account, 可能帮别人做事。
2. 借resource - 大公司的老板在自己员工不够的时候,可以去借贷,结果自己享受,又不用承担人数。
3. sales - sales 会把时间花在能close的account上,尤其是Q4, 因为来年account不一定是自己的,如果花时间在其他account, 可能帮别人做事。
Friday, October 11, 2019
Thursday, October 10, 2019
试错前进
我的这行code,
df_rec_c= copy.deepcopy(df_rec)
看上去神奇
但是是我经过了两次失败
df_rec.copy() (shallow copy)
df_rec.deepcopy() (deep copy没生成)
feedback directed的进步,远好过你懂得了copy.deepcopy才来写code。
minimal viable improvement
想到shap,就想到shap+
shap+是什么样的product 呢
当然是一个好用,可视化做的好,而且要不complement,要不比shap好的。
当然不会是ambitious research prototype, 然后半桶水
大公司要求十倍进步
个人,要求一点一点进步,累计十倍
shap+是什么样的product 呢
当然是一个好用,可视化做的好,而且要不complement,要不比shap好的。
当然不会是ambitious research prototype, 然后半桶水
大公司要求十倍进步
个人,要求一点一点进步,累计十倍
Wednesday, October 9, 2019
三种情绪
观察自己,一天内有三种情绪
一种是working mode
一种是boss asking mode
一种是browse nothing mode
前一种是benefitial
后两种nonsense, mitigation 就是尽快将自己走进working mode, by working 10 mins consecutively.
一种是working mode
一种是boss asking mode
一种是browse nothing mode
前一种是benefitial
后两种nonsense, mitigation 就是尽快将自己走进working mode, by working 10 mins consecutively.
Tuesday, October 8, 2019
jupyter notebook + xgboost
今天jupyter notebook 大大学习。
xgboost 弄了一下,然后听了Kaggle GM的说法,
one must NOT use either one of the following when using XGBoost: one hot encoding, missing value fill, and input rescaling,
听着的时候,这些是没有听进去的,做了一遍后,再听,瞬间觉得重点完全变得不一样了。
xgboost 弄了一下,然后听了Kaggle GM的说法,
one must NOT use either one of the following when using XGBoost: one hot encoding, missing value fill, and input rescaling,
听着的时候,这些是没有听进去的,做了一遍后,再听,瞬间觉得重点完全变得不一样了。
就像从我现在的角度,看旅店的规划,发现旅店都集中在有大公司的地方,不是偶然,而是方便出差,而且这种出差往王阔气,多天,因为是公司负责。
明天,
1. CV with important graph for 3 stores
2. Massive feature engineering
3. LSTM try out
target encoding - https://maxhalford.github.io/blog/target-encoding-done-the-right-way/
add new feature/remove useless feature
skewness test of target variable
textual feature of catalog
Feature:
discount strength
isMajor
isHow
pages
Feature Engineering:
https://www.slideshare.net/0xdata/feature-engineering-83511751
https://www.slideshare.net/HJvanVeen/feature-engineering-72376750
target encoding - https://maxhalford.github.io/blog/target-encoding-done-the-right-way/
add new feature/remove useless feature
skewness test of target variable
textual feature of catalog
Feature:
discount strength
isMajor
isHow
pages
Feature Engineering:
https://www.slideshare.net/0xdata/feature-engineering-83511751
https://www.slideshare.net/HJvanVeen/feature-engineering-72376750
Monday, October 7, 2019
jupyter notebook + 航空酒店
今天航空酒店研究了一早上+中午
了解了各种奖励配套
要好好optimize 一下
---
另外 jupyter notebook还真是个闹人的东西,但是还有common pattern
1. df[['a','b'.'c','d','e']].groupby(['a','b','c']).agg({'d':sum, 'e':list}) #dataframe
or df[['a','b'.'c','d','e']].groupby(['a','b','c'])['d'].agg([sum]) #series
2. df.apply(lambda x: fun(x['a']),axis=1)
3. df['a].apply(lambda x:fun(x))
4. df['a']=df['b'].shift(1)
5. df.sort_values(by=['a','b'])
6. pd.merge([df['a'],df['b']]) [concat]
7. pd.concat([df,df1]) (row, axis=1 for col)
8. dfa.merge(dfb, how='inner', on=['a','b'])
9. df.loc[df['a']>0]=df['a'] (assign value conditionally)
10. df['a']=pd.to_datetime(df['a'])
11. df.rolling('60d',on='time')['number'].mean()
12. df.set_index('date').asfreq('D') or df.set_index('date').resample('D').sum()
13. df['a'].fillna(method='ffill',inplace=True) (or 'bfill')
14. df['a'].groupby('b).apply(lambda x:
x.set_index("time).asfreq("D")).drop(['a'],axis=1).reset_index()
15. df['a'].groupby('b).apply(lambda x: x.set_index("time).resample("D").sum()).drop(['a'],axis=1).reset_index()
16. onehot encoding: pd.get_dummies(df, columns=['a'])
17. label encoding: pd.factorize(df['a'])[0]
了解了各种奖励配套
要好好optimize 一下
---
另外 jupyter notebook还真是个闹人的东西,但是还有common pattern
1. df[['a','b'.'c','d','e']].groupby(['a','b','c']).agg({'d':sum, 'e':list}) #dataframe
or df[['a','b'.'c','d','e']].groupby(['a','b','c'])['d'].agg([sum]) #series
2. df.apply(lambda x: fun(x['a']),axis=1)
3. df['a].apply(lambda x:fun(x))
4. df['a']=df['b'].shift(1)
5. df.sort_values(by=['a','b'])
6. pd.merge([df['a'],df['b']]) [concat]
7. pd.concat([df,df1]) (row, axis=1 for col)
8. dfa.merge(dfb, how='inner', on=['a','b'])
9. df.loc[df['a']>0]=df['a'] (assign value conditionally)
10. df['a']=pd.to_datetime(df['a'])
11. df.rolling('60d',on='time')['number'].mean()
12. df.set_index('date').asfreq('D') or df.set_index('date').resample('D').sum()
13. df['a'].fillna(method='ffill',inplace=True) (or 'bfill')
14. df['a'].groupby('b).apply(lambda x:
x.set_index("time).asfreq("D")).drop(['a'],axis=1).reset_index()
15. df['a'].groupby('b).apply(lambda x: x.set_index("time).resample("D").sum()).drop(['a'],axis=1).reset_index()
16. onehot encoding: pd.get_dummies(df, columns=['a'])
17. label encoding: pd.factorize(df['a'])[0]
Tuesday, October 1, 2019
Subscribe to:
Posts (Atom)