Monthly Archives: 十二月 2022

Hello World

闪展腾挪,只为避开apply

apply是pandas一个强大的工具函数,可以逐行对数据进行操作。pandas的优点很多,比如代码简洁、相对直接遍历效率更高;但它的“效率高”是相对的,相对于merge之类的操作,apply的执行时间可能会高出两个数量级。比如下面这行:

1
2
  #为订单数据集增加以后一列:微信支付的金额
  df['pay_wx'] = df.apply(lambda x: (x.pay if x.chan == 'wx' else 0), axis=1)

从上面的代码看,逻辑非常简洁,但是实际测试,50万的数据量,要20秒。下面尝试改造一下

1
2
3
4
  df_wx = df[df['chan'] == 'wx']
  df_wx.rename(columns={'pay': 'pay_wx'}, inplace=True)
  df['pay_wx'] = df_wx['pay_wx']
  df.fillna({'pay_wx': 0}, inplace=True)

代码从一行变成了四行,不过执行效率可以高很多:50万数据,时间大约0.7秒
当然,方法不止一种,对于更见的判断条件,可以直接用merge操作:

1
2
3
4
5
6
7
8
9
10
  #合并某项分类依据
  df['color'] = df.apply(lambda x: ('红' if x.color == '粉红' else x.color), axis=1)
  #使用merge优化
  df_h = df[df['color'] == '粉红'][['id', 'color']]
  df_h['color'] = '红'
  df_nh = df[df['color'] != '粉红'][['id', 'color']]
  df_hs = pd.concat([df_h, df_nh])
  df_hs.rename(columns={'color':'color2'}, inplace=True)
  df = pd.merge(df, df_h, on='id', how='left')
  df['color'] = df['color2']

通过上面这种方法改造,执行时间和第一个方法接近,50万条数据大约0.8秒

———–
转载请注明出处:http://www.jiangkl.com/2022/12/no_apply

他山石 梦游记 美图酷图

峨眉山

记得读高中时,有个爱看武侠的同学,每次见到我都会来一句“你怎么不叫蒋峨眉?”

哈哈,对于大部分非四川的同学,估计都是在“倚天屠龙记”里第一次听说峨眉山,而且大概率是李连杰电影版的倚天屠龙记——“围攻光明顶”可算是金庸武侠的名场面之一。不过,小说里的光明顶在昆仑山,可其实光明顶在峨眉~~O(∩_∩)O哈哈~。另外,小说里峨眉派是道教,可现实是,魏晋时峨眉确实道教兴盛,但到了隋唐,佛教盛行,到明清时,峨眉基本就只有佛寺了,而且成了传说中“普贤菩萨的道场”。再到当代,更是“佛教四大名山之一”,山上分布着大大小小十几处寺庙

这次出来,本来目标是“318国道-拉萨-珠峰大本营”一线,顺道去了张家界和黄山,既然路过四川,也就顺便把峨眉山也逛了。从张家界到峨眉山市,又是一千公里,一天时间刚好。

峨眉山月半轮秋,影入平羌江水流。
夜发清溪向三峡,思君不见下渝州。
——李白 《峨眉山月歌》

峨眉第一亭

峨眉山

一首隔壁眉州老乡的思乡词

归去来兮,吾归何处?万里家在岷峨。
百年强半,来日苦无多。
坐见黄州再闰,儿童尽楚语吴歌。
山中友,鸡豚社酒,相劝老东坡。
云何,当此去,人生底事,来往如梭。
待闲看秋风,洛水清波。
好在堂前细柳,应念我,莫剪柔柯。
仍传语,江南父老,时与晒渔蓑。
——苏轼 《满庭芳·归去来兮》

山亭

万年寺

接引殿

洗象池

清音阁

一线天

一线天,换个角度

金顶

当然,峨眉山最有名的,还有它的猴子

峨眉猴

峨眉猴

最后,来一首李白版的“月亮代表我的心”

我在巴东三峡时,西看明月忆峨眉。
月出峨眉照沧海,与人万里长相随。
黄鹤楼前月华白,此中忽见峨眉客。
峨眉山月还送君,风吹西到长安陌。
长安大道横九天,峨眉山月照秦川。
黄金狮子乘高座,白玉麈尾谈重玄。
我似浮云殢吴越,君逢圣主游丹阙。
一振高名满帝都,归时还弄峨眉月。
——李白 《峨眉山月歌送蜀僧晏入中京》

 

 

他山石 梦游记 美图酷图

张家界

千丈绝壁挂金松,万尺深涧锁玉龙。
百仗留得佳话在,两壁对插白云中。
—-宋·佚名《咏张家界》

行者无疆,告别美丽的黄山,再次踏上西行之路~~沿高速一路向西,一口气开出近1000公里,来到了湖南张家界。第二天一早,先来到武陵源景区……再次被大自然的鬼斧神工所震撼。

 天子山

峡高百丈洞云深,要识桃源此处寻。
戎旅徐行风雪紧,谁将兴尽类山阴。
—-明·胡桂芳《咏百丈峡》

袁家界

索溪峪

十里画廊

缥缈云烟画卷开,凝香染墨净尘埃。
幽姿淑态呈祥瑞,水色山光着眼来。
百鸟齐鸣深涧响,众仙恭立向王台。
千杯寻醉非虚幻,焉问刘郎谁与栽。 

金鞭溪

金鞭溪

黄石寨

寻常山里数青峰,玉笋成群插楚封。涧道冻云隐斜日,寺门长阪度疏钟。
古苔一望迷幽径,峭壁千年挂老松。玉垒匡庐曾浪迹,巨灵移岳此重逢。
—-明·夏子云诗

 武陵源景区面积很大,在里面整整转了两天,第三天,我们来到了隔壁的天门山和大峡谷景区

天门山

 大峡谷

 

大峡谷

…这张错了,这张不在地球上O(∩_∩)O哈哈~

他山石 梦游记 美图酷图

游黄山

黄山四千仞,三十二莲峰。
丹崖夹石柱,菡萏金芙蓉。
——李白《送温处士归黄山白鹅峰旧居》

一早四点钟从北京出发,一路向南,一直到晚上八点,行程1300公里终于到达目的地:黄山汤口镇。一夜无话,第二天早早起来前往本次黄山游的起点:慈光阁

~~嘿嘿,节约点体力,先走索道直接到迎客松。记得小时候家里客厅挂的画就是“黄山迎客松”,今天终于看到真的了

迎客松

 天都峰

莲花峰

 鳌鱼峰

折腾一天,终于来到了光明顶~~哈哈,没错,光明顶不在昆仑,而是在黄山。下山休息太绕,光明顶酒店小睡一晚,一千多块…心疼ε=ε=ε=(#>д<)ノ

第二天,早早起来继续逛,开始进入后山

“猴子观海”

“飞来石”

始信峰

峰奇石奇松更奇,云飞水飞山亦飞。
——魏源《黄山绝顶题文殊院》

宽围白浪身千叶,峭入青天手一藤。
——汤宾尹《同友人游黄山》

人间多少佳山水,独许黄山胜太华。
——老舍《咏黄山》

且持梦笔书奇景,日破云涛万里红。
——《登黄山偶感》

 over~~奇美黄山之旅就到这里 O(∩_∩)O哈哈~

 

梦游记

梦游记