求索集 第三 - 哪里来的e???

2022-04-20

求索集 第三 - 哪里来的e???

我发现每次git强制合并都会出问题, 这次是一个新朋友.

话说以前每次电脑打开python数据分析学习笔记我都是先git pull把之前存在github上的最新笔记down下来然后再开始学习, 结果这次我糊涂了,直接就在本地笔记上开始了学习, 结果就出现了问题,

远程的版本是2.0, 然后我本地的版本是之前1.0基础上更新的1.1, 所以当前情况就是, github库里有的本地没有, 本地有的github没有, 而不是简单的1.0 - 1.1 - 1.2的关系.

于是我还是简单粗暴直接进行了强制合并.

于是再次打开强制合并后的笔记, 完蛋了, 报错…

打开笔记报错

这可是有好几百行的, 从新年到现在的学习笔记, 有我的笔记, 我的代码, 我的心得…

于是我幻想着跳过jupyter notebook服务, 直接用文本编辑器打开笔记本, 好歹把东西拷贝出来吧, 哦耶, 还是报错…

此时我不得不把头仰起45度, 这样大鼻涕泡才会准确流到嘴里, 让我了解人生的滋味…

我不得不打开浏览器进入搜索引擎, 只是此时已经没有了以往的期盼和憧憬, 因为我甚至懒得用隐私浏览模式. 一番搜索, 总算看到一个和我一样倒霉的大哥的经历, 他说保不齐是强制合并的时候Git系统干了什么不为人知的事情.

我去, 原来如此! 于是把笔记单独存了一份, 强制把文件后缀改成txt, 然后文本编辑器打开, 果然呀果然:

笔记变成了这样

Git自作主张修改了我的笔记, 把改动信息也给插进来了, 还好新问我是接受当前修改还是接受两边的修改,问题是我腰不改后缀的话我连笔记文件都打不开了大哥!!!

别废话了, 一顿accept, 然后我的笔记又回来了, 好感动~~~

笔记回来喽

于是我第N次 (N>=xxx)告诉自己, 别偷懒强制合并了, 你把握不住的大哥…

python数据分析学到了多维数组的通用函数, 结果以前中学学过的对数又出来了, 还有那个如梦魇般在当初我的脑袋里和武侠小说, 四大天王周华健, 还有圣斗士阿拉蕾挤占空间的自然常数e…

说到常数我就必须要吐槽, 为什么你们这些常数就没有一个正常点的?

圆周率Π. 是你让我第一次认识什么叫无限不循环小数. 你一个小数有零有整的我就忍了,然后你除不干净我也认了, 然后你还不循环? 你好意思不循环? 世界上怎么会有这么奇怪的东西? 而且老师还让背? 还比谁背的位数多???

虚数单位i, 你竟然是-1的开方??? 当初老师让我们记那些正数的开方我就已经很爆炸了好吗? 2的平方根是1.414, 3的平方根是1.73, 5的平方根是2.236… 然后现在你一个-1也敢开方? 我先开了你信吗?

直到e的出现, 我彻底老实了. 如果说i好歹还有个定义, Π至少还能和圆圈挂钩, 那你这个e是什么玩意? 一样的无限不循环, 但是你是算什么用的? 谁等于你乘以另一个家伙的平方? 谁又等于你乘以第三个奇怪家伙?

我现在虽然没有年轻时的暴烈和桀骜不驯, 但那份对于”最起码我得知道你是干嘛用的吧”的执着依然旺盛, 好吧, 让我看看你这个e是怎么来的吧!

网上能找到的最好懂的一个教程是用银行利息距离的, 好比说, 这家银行的存款年利息是100% (我靠, 这不是银行,这是慈善机构), 那么到了年底, 我的存款实际就成了:

(1+ 100%)1 = 2

情况复杂了, 银行表示咱们现在是半年算一次利息, 但利率也下降到50%, 那么到一年结束, 实际存款就是

(1+ 1/2)2 = 2.25

现在情况又复杂了, 银行说咱们按月计算利息, 利率是年利率的12分之一:

(1+1/12)12= 2.61

好的, 现在继续变化, 按天记利息, 每天利息是年利的365分之一:

(1+1/365)365 ≈ 2.715… 注意从这里开始, 就是约等于了.

似乎发现问题了, 义务教育的好处体现了, 我们敏锐的发现, 似乎利息分的越细, 这个实际存款就越接近2.几或3之间的某个数. 咱们算算:

(1+1/99999)99999 ≈ 2.7183

果然, 这个数似乎是有极限的, 这个极限看起来像是2.72 左右.

于是用极限来表示,就是:

e到底是什么

而这个极限, 就是e, 也就是自然常数, 约等于2.718281828459045, 和我们的猜测差不多.

和用割圆法求圆周率差不多, n取的越大, (1+1/n)n就越接近e.

到这里, 我们就弄明白e是怎么来的了. 至于这个e能干什么, 那可就玄乎了, 感觉这个e简直无所不能, 玫瑰开花, 母猪配种, 阴阳和谐, 民主富强, 似乎都离不开这个e. 得嘞, 今天关于e的研究就到此为止, 下次接着聊.

如果能学进去, 其实学习还是挺好玩儿的:)

Read More

求索集 第二 - 你们还是对我这个宝宝动手了

2022-04-06

求索集 第二 - 你们还是对我这个宝宝动手了

果然, 我还是飘了.

封面

一本400页的书, 一气就读到了100页, 看起来一切都很顺利的样子, 有一瞬间我甚至怀疑难道不注意之下, 我加了什么装备, 或者双脚离地了, 所以聪明的智商又占领高地了???

然后今天学到数组转置, 晕头转向之下, 我终于回到了现实, 果然, 你们还是对我这个宝宝动手了. 之前还觉得自己还挺不错的,原来是错觉, 都是错觉呀.

二维数组的转置不难理解,X轴变Y轴,行列变换就是了。但是从二维到三维,问题一下子就难了不少,而且还多了轴的概念。比如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
已知三维数组:
y = np.array([[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]],
[[11, 12, 13],
[14, 15, 16],
[17, 18, 19]],
[[21, 22, 23],
[24, 25, 26],
[27, 28, 29]]])
求:y.transpose(1,0,2)
答:
array([[[ 1, 2, 3],
[11, 12, 13],
[21, 22, 23]],

[[ 4, 5, 6],
[14, 15, 16],
[24, 25, 26]],

[[ 7, 8, 9],
[17, 18, 19],
[27, 28, 29]]])

人家教材是真讲理, 写个代码, 眨眼间计算机就给算出来了。照理说没错呀,数据分析,可不计算工作都是交给计算机么。 问题是简单的计算原理我得会呀,不然我学什么呢?显然,照着问题和答案研究解题原理是不可能了,咱们按部就班,一个一个问题解决。

前提问题一: 如果说二维数组的轴就是X轴和Y轴, 那么三维数组的轴是什么?

经过百度和我自行研究,我大概研究出一个三维数组的轴的概念:

三维数组的轴

是的, 三维数组有三个轴。以前我的理解是三维数组是三维空间中的二维数组,就像一本书由很多页纸组成一样,但这样的理解不利于转置计算,我换个说法,三维数组确实是若干张纸,就如上面这个三维数组y,就是由三个二维数组在空间中顺序排列而成。

那么这里的轴的定义就是:

0轴是二维数组之间的联系,如1所在的数组和11所在的数组,就是以0轴为联系排列的

1轴是每个二维数组的两行之间的联系,如果把二维数组看作若干一维数组,也就是数列的组合,那么1轴就是这些数列的联系

2轴则是在每个二维数组的一维数列上的每个元素之间的联系,如123队列中的1和2

所以,三维数组的012号轴其实是从大到小排列的,分别联系起二维数组之间, 二维数组内部的一维数组,以及一维数组内部的元素。

而Numpy包的转置是这个意思:

对于三维数组,nparray.transpose(x,y,z)分别对应了0,1,2三个轴

因此就可以知道,对于任意三维数组nparray,

nparray.transpose(0, 1, 2) 就是当前原数组的顺序,未实现转置

nparray.transpose(1, 0, 2) 就是原数组的01轴进行了转置,2轴未动

nparray.transpose(2, 0, 1) 就是原数组2轴变0轴,0轴变1轴,1轴变2轴

NB, 完全糊涂了有没有? 没关系,做题看看。

1
2
3
4
5
6
7
8
9
10
y = np.array([[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]],
[[11, 12, 13],
[14, 15, 16],
[17, 18, 19]],
[[21, 22, 23],
[24, 25, 26],
[27, 28, 29]]])
求:y.transpose(1,0,2)
三维数组的轴

y.transpose(1,0,2),意思就是0和1轴发生了转置,而2轴没动。既然2轴没动, 那么数列中元素的顺序就没变,123还是123,21,22,23还是21,22,23. 而0和1转置,那么就是以前的数组间(1,2,3和11,12,13)变成了一个数组内,而原来的数组内1,2,3和4,5,6则分属两个数组,写一写,大概是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
y = np.array([[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]],
[[11, 12, 13],
[14, 15, 16],
[17, 18, 19]],
[[21, 22, 23],
[24, 25, 26],
[27, 28, 29]]])
求:y.transpose(1,0,2)
答:
y.transpose(1,0,2) = np.array
([[[1, 2, 3],
[11, 12, 13],
[21, 22, 23]],
[[4, 5, 6],
[14, 15, 16],
[24, 25, 26]],
[[7, 8, 9],
[17, 18, 19],
[27, 28, 29]]])

用jupyter跑一下代码,结果是对的。 咱们继续验证:

求y.transpose(2,1,0)。

按照刚才我的推断, 这次是2和0轴交换,1没变,那就是说明原来的行之间关系不变,123下面还是456,但表之间的联系变成了原来的数列元素,也就是原来在同一二维数组的同一数列的1,2,3,现在要分别属于不同的数组了, 我们写一写:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
y = np.array([[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]],
[[11, 12, 13],
[14, 15, 16],
[17, 18, 19]],
[[21, 22, 23],
[24, 25, 26],
[27, 28, 29]]])
求:y.transpose(2,1,0)
答:
y.transpose(1,0,2) = np.array
([[[1, 11, 21],
[4, 14, 24],
[7, 17, 27]],
[[2, 12, 22],
[5, 15, 25],
[8, 18, 28]],
[[3, 13, 23],
[6, 16, 26],
[9, 19, 29]]])

用jupyter跑一下代码,结果依然是对的。

今天差不多就先到这里了,目前只能说明我的想法初步看是对的,后续还要再继续验证。如果我的想法是对的,那对于三维数组的理解就又多了一种,思路也就多了一种。

至于四维及以上的数组,后续再说吧,生活在三维的世界的我,实在暂时理解不了四维的世界…

Read More

寄花集-第四

2022-03-27

寄花集 第四

距离上次写作已经是一个半月有余,眼瞅着好不容易养成的为数不多的好习惯又要荒废,假期最后一天必须没话找话无病呻吟了。

最近在Windows 11 上遇到了一个问题, 在更新Windows时, 报告更新Windows Subsystem for Linux错误。

Windows 更新错误

大概看了一下,估计更新的应该是Linux内核。 按说这个东西不更新也没什么问题, 但是总有个错误挂在那里,看着难受,姑且尝试着解决一下。

登录微软更新官网, 然后搜索Windows Subsystem for Linux,会出现相关更新:

现有更新

直接下载最上面的那个,会得到一个cab包, 解压缩, 里面是个安装程序, 直接安装, 问题解决。

至于为什么用Windows自带的更新会失败, 这个我也不知道,得问微软了。不过这个问题也让我知道了Windows Subsystem for Linux的内核也是可以更新的,微软pio亮~~~

最近上海疫情复起,3月以来已经7万以上确诊, 而且传染还在上行阶段,以至于确认数量需要要按照区来统计, 看起来才不会那么吓人。

最新数量

于是舆论开始不那么友善,以批评精准防控为中心,消灭传说中少部分上海市民优越感为目的的批判就此开始。照例,我有一个朋友, 我的同学, 我的邻居阿姨大表弟三姐夫同学四舅七叔的孙子的结拜大哥。。。 各路新鲜消息比美团饿了么还快, 分分钟送到您耳边

这里我不想参与其中。看热闹有时本身就是一种伤害,遑论品头论足。我更无意于比较上海北京在防疫问题上的高下,因为我除了督促自己和家里人老老实实打疫苗做核酸,对防疫也没做什么额外贡献,更未参与其中。我最想说的是,患难见真情,同样, 在严峻的形势下, 更能考验人性。

长辈急病需要去医院,却迟迟找不到通向医院的道路, 最后错失了救治的最佳时机,遗憾离世。这样的报道似乎已经屡见不鲜, 更有甚者, 某些报道说大人和孩子竟然要分开隔离,哪怕孩子很小。还有的,妈妈留下孩子外出买东西,此时小区被封,无法进入小区的妈妈只好发疯一样向志愿者哭诉。。。

不得不说,任何人都会陷入一些矛盾当中。 当上下级的秩序和规则执行,遇到和人性抵触的情况,到底应该如何处理?更何况,我们并不知道这种抵触,会造成多么严重的后果的情况下。 有这么一个小故事, 东、西德国统一后,一名曾经守护柏林墙并向翻墙民众开枪的前东德士兵接受审判。他在法庭上辩解道:士兵的天职是服从,我只是执行上级命令。法官睿智地答道:服从命令没错,但你可以把枪口抬高一点

柏林墙

越来越多的证据表明, 这个故事很可能是虚构的。而这个故事之所以流传这么广泛, 显然正是因为手无寸铁的普通民众,从内心深入呼唤“人性的光辉”。

说到这里,您可能会认为我是“把枪口抬高一寸”的支持者。 在很多时候, 我相信自己的想法是这样。比如,如果回到那个学生要揍老师表达觉悟的年代, 我很可能会选择闹肚子,甚至拉裤子。我不能违背自己的底线,但我又没有勇气或者能力改变, 因此,逃避可能是我这种人最好的选择。

可是另一方面,对弱势违法者的同情, 就一定是对的吗?一个闯红灯逆行的骑车人被正常行驶的汽车撞倒,难道汽车还要反过来去赔偿违反法律的人么? 也许我们会说交规是善法,要求士兵向着翻越柏林墙的民众开枪是恶法,可是在当时,谁有有能力,有资格,有勇气去判断一个规则是恶是善?

跑题了。说到这里又让我想到另外一个词语,“历史唯物主义”。比如,我看过一本岳飞的传记,文章结尾,作者正面评价完岳飞的一生,又提到了岳飞的历史局限性, 比如,他的忠君思想。

看到这里我就明白什么是历史唯物主义了。我的理解,就是要讲理。不要带入,不要拿今天的主流价值观去衡量古人。岳飞生在封建社会的鼎盛时期,他如果那会儿想的不是迎回二圣,收复失地,而是要带领宋朝的农民兄弟,手工业者,茶博士,勾栏院从业人员, 瓦舍曲艺演员,宋江等破落地主阶级等一切可以团结的力量, 去推翻宋朝,建立人民民主专政的新国家,这就不是历史,而是玄幻了。

会到现在,其实上海也好,中国也好,今天发生的一切都将是历史。我想,指望基层政策执行者拥有多高的智慧和多么光辉的人性,就像宋朝老百姓呼唤包青天一样不靠谱。目前来看,唯一的可能的办法,是政策的执行者站在历史的高度,从全局出发,为老百姓负责的态度去调整政策,而不是忽左忽右,要么不做要么用力过猛。相信大家在不同时间不同地点不同领域都感受过一刀切的管理思路有多么XX。精准防控不是不行, 恰恰相反,在疫情下如何恢复正常生活生产,我看精准防控是个很好的思路。但是要结合已经出现的问题,及时优化,及时改进。另外就是最后一定要落实到执行,千万不要指望基层执行者去领会精神,千万别。每个人的理解能力都不一样,世界观价值观也不一样,一样的精神也会有不一样的领会。人家小姐姐看了这边一眼,有的大哥觉得那是人家在嫌弃自己,说不定有的大哥连孩子以后在哪上小学都想到了,岂不是千差万别?

最后,我觉得如果说能把疫情防控和正常生产生活都能处理好的,中国最可能做到的地方,不是北京,而是上海。

Read More

求索集 第一

2022-02-18

求索集 第一

“路漫漫其修远兮, 吾将上下而求索”.

拜义务教育所赐, 现今中国人无论男女老少, 基本都知道屈原, 知道他的这句诗, 知道他的情怀, 他的精神. 更知道他带给每个中国人的三天假期…

今年开始我尝试把自己的写作归入几个主题, 让随性而至有感而发变得更有逻辑和调理. 之前把闲扯淡聊闲天侃大山命名为”寄花集”, 寓意为寄托思绪, 今天开始的”求索集”则斗胆学习先贤的”求索”精神, 把自己的学习心得整理在此.

于是今天就是”求索集”开篇第一集.

Windows Server Dev 25057 小用手记

最近微软推出了Windows 11的最新开发版本 22557, 增加了不少新功能, 而基于Windows 11构建的服务器开发版则是直接把版本推到了25057. 我也试着把手里这个在家用的机器从服务器开发版22538升级了上来. 升级过程非常顺利, 而且是无损升级, 所有文件设置和程序都得到了保留:

Windows Server 25057 Windows Server 25057 Windows Server 25057

安装界面显示服务器版本依然是Windows Server 2022.

既然比Windows 11最新开发版版本号还高, 那么理论上这次Windows 11支持的新特性应该也有了, 咱们试试看.

第一部分, 全新设计的任务管理器:

Windows Server 25057 Windows Server 25057

以前标签页形式的任务管理器被替换为更现代的汉堡包式菜单, 看起来好看了不少, 设置项也更多. 除了外观, 这次还多了一个功能, 设置单独的程序进入ECO模式:

Windows Server 25057

我看微软的解释是, 用户可以手动控制某些程序进入节能模式, 这样会把更多资源节省出来用于其它, 进入节能模式的程序反应会变慢. 嗯, 这个应该是在针对移动设备的, 有利于续航. 当然有一些程序和系统进程这里是灰色不可用的, 估计应该是关键进程. 奇怪的是浏览器也不能进入节能模式, 难道系统检测到了我的浏览器在干什么??? 另外有无可能反其道而行之, 来个”野兽”模式或者”飙车”模式, 让程序获取更多资源从而能更快完成任务?

第二个新功能对我来说特别有用, 就是全新的专注模式.

Windows Server 25057

只要点一下右下角的任务栏, 然后点击Focus按钮, 系统就会进入专注模式, 这时各种聊天软件再也不会提示你有新邮件, 也不会有什么通知弹窗. 默认进入一次专注模式的时间是30分钟, 也符合番茄时间理论倡导的25分钟. 对了, 这里我也推荐一下番茄时间学习工作法, 确实是提高效率的有效手段, 方法很简单, 设定一个时间段, 一般是25分钟, 然后立刻开始做你第一个想到的事情, 期间不看手机不看网页电话不接微信不回, 就坚持25分钟即可. 然后你会发现这25分钟的专注带来的不仅是高效率, 更是一种淋漓尽致的爽快感和成就感. 普通人, 做着普通的事情, 但是如果能一点点积累成就感, 短时间就会感受到不同的, 哪怕处境和环境其实没什么变化, 但是心境会变化. 全新的专注模式, 好评!

Windows Server 25057

下一个新特性有点让人哭笑不得, 就是之前Windows 10的开始菜单支持文件夹功能这次找回来了… 好吧, 砍掉一个功能算一个更新, 然后把这个功能再找回来又算一个更新, 想提高自己KPI的朋友们, 你们学废了吗?

第三个新功能是多任务布局引入了一个新的方法, 可以拖动程序窗口到桌面顶部, 然后就可以指定窗口显示的位置, 倒是挺方便.

Windows Server 25057

这次推出的新功能还有不少, 比如播放视频时系统能够自动匹配字幕. 当然目前这个功能只限于英语, 所以经常看日语方面视频的朋友可能还得等等, 当然了我知道其实你们不需要字幕也不耽误理解剧情…

总体来说 25057是个不错的更新, 据说这些变化会在下半年的Windows 11 正式版上得到体现, 请拭目以待 ~~~

多维数组切片研究

利用Python进行数据分析依然在缓慢地学习中, 进度缓慢, 但力争持续和领悟. 目前因为还没进入数据分析的核心部分, 仅仅是在学习基础预备知识, 不过一些东西还是挺好玩儿的, 比如多维数组切片.

所谓多维数组切片, 我目前的理解是按照某些需要, 把一个多维数组中的某些元素给挑出来. 这些元素可能是连续的, 可能是离散的.

比如先来个最简单的一维数组:

1
2
3
4
5
import numpy as np
array1 = np.arange(12) #构建一个一维数组
array1
输出为:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])

一维数组情况最简单, 只要记得一维数组是一根线段 (应该说是矢量, 因为除了有长度还有方向), 切片就是从这根矢量线段上切下来的若干部分线段或者点.

1
2
array1[5:8] #输出结果array[5,6,7]. 数组切片左含右不含我始终记不住, 还是得多用.
array1[3:] #输出3号以后的所有元素 array([ 3, 4, 5, 6, 7, 8, 9, 10, 11])

还得注意, 数组切片结果还是数组, 哪怕只有一个元素. 一维数组切片结果还是一维, 这个很好理解, 一根线怎么切要么还是线要么是点, 不可能切出一个平面或一个立体形状

二维数组切片稍微复杂一点, 比如这样的二维数组:

二维数组

显然, 二维数组切片要么是点, 要么是线(矢量), 要么还是个平面. 理解了这些,其实具体怎么切片就不难操作了. Python numpy 完全是按照平面坐标来定位元素的.

比如某种需要 切出来5,6,8,9这个平面, 那么注意一下这几个点的坐标分别是(1,1),(1,2),(2,1),(2,2), 是的, numpy是以1为原点, 向下向右增长的. 知道了原理, 下面就是拿出西瓜刀, 切了它!

1
2
3
4
5
6
import numpy as np
array2 = np.array([[1,2,3],[4,5,6],[7,8,9]]) #定义二维数组. 变量名跟着前面顺延为array2. 我起名一向随意, 当然这也让我吃过大亏, 以后慢慢说.
array2[1:,1:] #逗号前是行, 逗号后是列, 就是取第1行和第1列开始的所有行列. 这里的第1行其实是第2行, 毕竟计算机语言都是从0开始, 计算机本来就是1010的世界, 说起来羞羞哒...
输出为:
array([[5, 6],
[8, 9]])

好了,下面就是三维数组了. 三维, 立体了, 摸起来, 不是, 切起来有质感了, 来来来, 拿起西瓜刀, 咱们接着切!

先看看三维数组长什么样:

三维数组

话说用PPT画三维数组, 简直神器, 哦耶. 我就喜欢这种拿现成工具开发别的姿势的感觉. 话说怎么又有种要开车车的感觉呢…

我之前搜索三维数组的相关知识, 很多前辈把三维数组描述成魔方的样子, 但是这里有个问题就是如果三维数组的秩 (其实就是有多少”片”纸, 比如上图的秩就是3) 多了, 那就不好弄了. 所以我自己的理解是, 三维数组就是在一个空间里平行分布的几个平面, 每个平面都是一个二维数组.

那么现在切西瓜就简单了, 只要您告诉我您要第几个平面上的元素, 那就好切了. 比如我要 27, 28, 29三个元素, 嗯嗯, 那不是在2号平面吗 (别忘了计算机编程都是从0开始, 不知道别的是不是也是从当0开始~~~)

1
2
3
4
5
6
7
import numpy as np
array3 = np.array([[[1,2,3],[4,5,6],[7,8,9]],
[[11,12,13],[14,15,16],[17,18,19]],
[[21,22,23],[24,25,26],[27,28,29]]]) #定义三维数组. 好了不解释了, 你就是三号变量. Python numpy定义二维和三维数组的语法我一开始是真晕, 后来用习惯了觉得还挺科学的. 只能说搞编程的都是逻辑大神, 服了, 真得
array3[2, 2, :] #第一个逗号前面是秩,就是第几片,第二个逗号前是行, 第三个逗号前是列, 光一个:表示我全都要.
输出为:
array([27, 28, 29])
多维数组转置研究

研究完切片, 下面研究转置. 一维数组转置不转置的完全不吃劲, 一条线怎么折腾它还是一条线.

二维数组也不难理解, x轴变y轴, y轴变x轴而已.

三维数组还是得研究研究的, 还是请出我们的超级无敌3D大数组:

三维数组

话说看着这个图我是懵B的, 三维的怎么转置? 话我我要是一个三维数组, 我就活生生站在这里, 现在有人要转置我, 我应该怎么办? 我是躺下, 还是蹲着? 躺下的话, 是侧躺, 还是仰着头?

最直观的办法还是把结果跑出来看看:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import numpy as np
# 定义一个三维数组, 请继续原谅我给变量起名的能力
arr3d = np.array([[[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9]],

[[ 11, 12, 13],
[ 14, 15, 16],
[ 17, 18, 19]],

[[ 21, 22, 23],
[ 24, 25, 26],
[ 27, 28, 29]]])
# 转置
arr3d.T
输出结果为:
array([[[ 1, 11, 21],
[ 4, 14, 24],
[ 7, 17, 27]],

[[ 2, 12, 22],
[ 5, 15, 25],
[ 8, 18, 28]],

[[ 3, 13, 23],
[ 6, 16, 26],
[ 9, 19, 29]]])

哈哈, 这下明白了, 三维数组的转置, 大概就是, 把每个平面的第一列给取出来, 然后按照平面0-1-2的顺序把每个平面的第一条给拼上, 然后是每个平面的第二条, 第三条…. 以此类推.

可以发现, 三维数组的转置并没有改变每个平面的元素之间的xy轴关系, 原数组的列在新数组依然得到了保存, 而有一把超级西瓜刀劈开了每个平面, 使得每个平面的具有相同编号的列元素被重新组合在一起. 现实意义我是这么尝试的, 假设有这么一个图书馆, 有三个书架, 每个书架有三层, 每层都是一个专业的书籍, 那么这个书架是如此定义的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import numpy as np
# 定义一个图书馆的书架数组
arr3d4 = np.array([[['语文1', '语文2', '语文3'],
[ '数学1','数学2','数学3'],
[ '英语1', '英语2', '英语3']],

[['生理卫生1', '生理卫生2', '生理卫生3'],
[ '化学1','化学2','化学3'],
[ '自然1', '自然2', '自然3']],

[['生物1', '生物2', '生物3'],
[ '美术1','美术2','美术3'],
[ '音乐1', '音乐2', '音乐3']]])
# 转置
arr3d4.T
输出结果为:
array([[['语文1', '生理卫生1', '生物1'],
['数学1', '化学1', '美术1'],
['英语1', '自然1', '音乐1']],

[['语文2', '生理卫生2', '生物2'],
['数学2', '化学2', '美术2'],
['英语2', '自然2', '音乐2']],

[['语文3', '生理卫生3', '生物3'],
['数学3', '化学3', '美术3'],
['英语3', '自然3', '音乐3']]], dtype='<U5')

哈哈, 是不是一目了然了? 转置后的图书馆把每个科目的书都按顺序挨个抽出来放在一起, 以前是按类别放书, 转置后则是按书的顺序排列, 转置在三维数组里就拥有了实际意义.

刚刚学习多维数组, 为了避免陷入纯概念性的东西, 我试图通过结合实际生活来理解, 因此目前我只理解到三维数组, 毕竟三维是评价女生身材的… 不是, 是我一个三维生物能理解的极限, 四维或再网上我就不能理解了, 再研究也就是完全靠生磕, 这不太符合我这个年龄段的学习方式了.

希望今天给求索集这个序列开了个还可以的头儿. 继续加油.

Read More

寄花集 第三

2022-02-16

寄花集 第三

工作邮件, 少用叹号

如果说,在我所有的回复里, 我最不喜欢的是”我去洗澡了”, “我要睡觉了”, “我要先洗澡后睡觉了”,”我要先睡觉在洗澡了”, 那么在所有的标点符号里, 如果评选我最不喜欢的标点符号, 毫无疑问, 必须是”!”, 尤其是在工作邮件中.感受一下, 你收到了业务伙伴这样的邮件:

请确认这样是否合适, 谢谢!

正常的一句话, 一旦加了叹号, 最直观的感觉就像这个人和你说话时, 眼睛瞪得像铜铃, 但是似乎没有射出闪电般的精明, 然后用毋庸置疑的语气去和你交流. 也许结尾还是说了谢谢, 但那个谢谢如此生硬, 就像上层贵族即使面对奴隶, 也不想失去自己的仪态, 于是不得不从牙缝里露出一些气体, 而恰巧那些气体碰撞唇齿产生震动, 从而发出类似”谢谢”的声音, 而听者的大脑不得不把这个声音加工为”谢谢”. 这个叹号妙就妙在, 对方既把信息传达给了你, 又表达了其实人家不想理你看见你就想吐但是出于人道主义精神不得不理你, 所以你这个人渣有没有get到我的点?

是的, 我get到了, 但其实没必要.

人生在世, 除了家人, 特别情投意合真心相交的朋友, 有教导或知遇之恩的老师或领导, 普通人之间其实基本不存在谁欠谁的情况, 所以, 我一直觉得如果谁都不欠谁的情况下, 最好的交往方式应该是:

如果有必要交往, 那就以礼相待. 如果没必要交往, 那就不要相互理睬

所以, 平时如果不是为了抒发感情, 那么请少用点叹号, 正常情况用句号, 适当用点问号, 岂不美哉? 哦对了, 发邮件时心平气和, 适当降低打字速度, 也能降低叹号的使用频率呢.

都怪司马?

之前看过一篇文章, 大意是一位玩儿<<全面战争>>游戏的外国友人听说悠久的中国历史本身就是一部战争史, 因此请认识的中国网友推荐中国的战争类历史书籍, 结果这位中国网友推荐<<三国演义>>…

事情的后续是这位外国朋友还真看进去了, 结果被情节虐的不要不要的. 最喜欢的关羽, 人生高光时刻遇害. 张飞, 神圣高光时刻遇害. 刘备, 如此仁义之人结局如此窝囊…这位外国友人已经连连破防,于是有好心的中国网友提醒他别看了, 后面军师五丈原…

其实想想, 三国演义里那些耳熟能详的英雄, 似乎结局都不怎么好. 蜀这边就不说了, 曹家其实也挺窝囊. 丞相之后, 要么废物, 要么短命, 居然还出现了皇帝亲自带队砍臣子被臣子反杀这样的离奇事件. 至于孙家, 似乎很少有三国迷站孙家的, 而且从孙权后期开始各种骚操作层出不穷, 结果, 唯一有个好结果的竟然是司马家. 然后司马家就向人们展示了, 没有最骚只有更骚. 傻帽当皇帝, 媳妇超无敌, 八王之乱, 永嘉之变, 衣冠南渡, 中原玩儿完, 南北朝300把北方的华夏民族玩儿的不要不要的, 轮番被各种叫不上名字的种族和势力蹂躏, 跑到南边就是自己地盘? 东晋到宋齐梁陈, 上层更迭一点不比北方频率低, 而且各种奇葩只多不少, 创造力这块拿捏得死死的…

回到司马家, 历史上造反的臣子多了, 像司马昭先生这种干了不敢承认还找下边人背锅的行为, 实在有点太low了. 至于被迫背锅的成济老兄, 只能说做事不过脑子啊, 人家叫你杀皇帝你就真动手, 叫你吃大便你吃不吃? 你不敢不听话, 那您力气小点行不行? 恰好摔了个跟头行不行? 不小心自己给自己来了一刀血流不止行不行? 一紧张痔疮加中二病犯了行不行? 最近忙着要三胎体力不支了行不行? 要知道, 没有原则就算了, 没原则还没脑子的人就算是氪金玩儿家也注定不会有好下场啊.

您看看, 司马先生您自己low就算了, 您周围的人, 比您还low, 这怎么玩儿? 都怪司马, 也不冤枉. 至于那些本来不姓司马还非得改姓司马的, 您TM是不是low爆了呢?

偏听则暗, 兼听则明

北京冬奥会接近尾声, 从目前看整体水平很出色, 也确实符合”简约, 安全, 精彩”的宗旨. 不过不和谐声音还是有的, 比如”花滑运动员的比赛资格”. 其实这些事情稍微想想也能猜出个大概其, 只是人们一般都有一个思维定式, 就是喜欢预设立场, 然后带着预设立场去获取支持性论据, 最后确定自己立场就是对的. 比如”朱易靠老爹”, 确实很容易让人们把对社会中的不公正现象投射进来, 结合互联网这个传播信息的利器, 一时间沸沸扬扬, 就此成为定论.

在这个问题上, 前辈已经给我们最好的获取信息的方式, 就是”偏听则暗, 兼听则明”. 既然获取信息的方式很方便, 我们大可以抱着求真的态度去搜索相关信息, 比如我们很轻松就能查到朱易的资格是靠着选拔赛成绩上来的, 而评选机制是5站选拔赛取其中4个最好成绩进行大排名, 引申一下, 朱易是2018年1月拿到全美花滑新人组冠军, 而9月就加入了中国花样滑冰集训队, 再比如争议中的焦点, 朱易的父亲是2020年回国单人北大和清华的教授…

坦白说, 喜欢站队是人类的生存本能, 也是很多场合的潜规则, 这个确实无法避免. 而我们之所以要争取受教育的机会,恰恰就是希望能让自己掌握更强大的学习能力和更加全面的思辨能力, 哪怕身在其中, 也能有更高更远的格局和眼光, 从而做更多更有价值和意义的事, 造福他人, 充实自己, 而不是看见日本车就来气, 哪怕它是中国工厂生产制造的, 也不会见着某品牌就高举爱国主义旗帜恨不得砸碎所有对手手机的屏幕, 哪怕对手也是国产厂商.

拒绝洗脑的最好办法, 还是提升格局和眼界, 而这, 确实需要一个人全方位的提升. 所以, 请加油 (按说这里应该有个叹号, 不过我刚说完自己不喜欢叹号, 所以, 就什么号都不用了吧~~~)

Read More

寄花集 第二

2022-02-10

寄花集 第二

丰县生育八孩的女子, 你到底叫什么名字

“丰县生育八孩女子”还是有了结论.

之前县里的调查结果被全部推翻.

县政府的调查结果

经部、省、市公安机关的全面调查, 那个被拴着狗链生了8个孩子的女士证明有被拐卖的嫌疑, 而她的”丈夫”则涉嫌非法拘禁.

女人

愤怒, 悲哀. 而实际上, 这是同一种情绪的两面.

愤怒是因为我只能愤怒, 悲哀是因为我只能悲哀.

我甚至不知道这位女士真正的名字是什么, 我怀疑她自己都忘了自己叫什么. 但我知道, 她活在地狱里.

她没有家人, 她只是被几个长得像人的牲畜, 像牲畜一样对待. 我甚至可以想象, 这位女士所处的这个牲口棚, 是一妻多夫, 或者叫共享老婆社会.

这位女士的遭遇比秦香莲还要糟糕的多. 她的”丈夫”的人性含量比陈世美更低, 而她也没有她的包青天.

看看之前县里的调查结果就可以知道, 她所处的环境里, 那些能救她的’各位大人们, 其实和她的”丈夫”是一样的, 从动物学角度来说, 很可能它们都是一个种群. 它们具有同样的思想, 对待这个世界有着同样的认知.

我真的很愤怒, 我真的很悲哀.

我竟然和这样的它们是同胞? 它们竟然也生活在这个美好的国度, 拥有着这个国家的高山, 森林, 大海, 沙漠, 继承着这个民族光辉灿烂的文化和思想? 它们甚至不用交那么多的税, 为这个社会创造的价值可能还到它们带来伤害的万分之一. 我自问自己没什么大本事, 也没多高尚的人格, 但我确信至少自己是个人, 是个可以昂首挺胸走在阳光下大声说出心里话的人. 它们是什么? 它们敢站在太阳下, 拍着胸膛说它们做的事情哪怕有一件是人类能做的出来的?

以前我不理解为什么有些人宁可选择举目无亲的大城市, 也不要留在自己的故乡. 现在我懂了. 因为某些故乡, 适合所有动物植物生存, 但不适合人生存. 北上广就算再冷血再无情, 至少有着人性的光辉, 而有些地方, 只是鬼蜮横行的地狱.

我希望这个新闻还能有下集, 在新的报道里, 希望能看到那位女士能记起自己的名字, 能找到自己的家乡, 甚至, 能想起来自己本来是个人.

哦对了, 请允许我表达对微博之类自媒体的歉意. 曾经有段时间我认为那是个大粪坑, 我错了. 其实这个国家的进步和效率的提高, 有很大一部分功劳是拜你们所赐. 你们才是这个国家前进的动力

为什么我的Gitee库又被封了

话说随着Github访问越来越不稳定, 我的很多内容开始往Gitee存. 好处自然就是速度快, 而作为GitHub的中国特色版. 缺点也很明显, 内容审查很严格. 比如我写这篇Blog时, 图片怎么也贴不上来了, 上Gitee一看, 果然:

图床被封了

我开始寻思, 难道是我的图片有不太妥当的? 不可能啊, 不妥的都在E盘学习资料里存着呢, 而且还加密+隐藏了, 我都找不着在哪, 怎么我也不会把这些好东西传到Gitee上找不自在不是.于是我只好上下求索, 反复尝试,终于明白, 哦, 原来是某个图片的文件夹名字是某位国家领导人的姓名拼音, 修改文件夹名字, 问题解决. 但之前文件夹里的图片就不能正常显示在Blog的那篇文章里面了. 当然这不是问题, 因为那篇其实挺正面的评价这位领导人的文章已经被微信公众号删掉了.

其实我不反对对言论, 信息, 数据进行管控. 但比较不方便的是你我并不知道管控的标准和规则到底是什么. 有些明显的字眼我当然知道, 肯定不会触碰, 但有些其实很不好猜, 只能是自己去尝试, 慢慢去体会那个关键字数据库里到底有什么.

所以在这里我还是想声明, 作为接收九年义务教育的根正苗红的80后, 我知道什么能做什么不能做, 什么能说什么不能说, 我无意触怒任何人, 也不想给任何人添乱. 如果我不小心让您不愉快, 烦请您告知, 我无条件接受所有批评指教, 保证立即整改.

话说回来, Github现在也够可以了, 访问不稳定我不怪你, 访问时给我这种验证问题是什么意思? 下次就该求傅里叶级数的收敛性了吧? 我有时候想, 是不是有些验证问题其实是钓鱼, 你答出来才说明你不是真实用户? 毕竟有些问题哪个正常人能知道?

Github的验证问题

Windows 11的服务器版本, 来了

微软面向开发者和测试人员推出了Windows Server的最新内部预览版本: Windows Server Build 22538. 更新下看看, Wow, 用上Windows 11的内核了.

Windows Server 22538 I

话说以前, 微软的客户端和服务器端操作系统是两条线, 内核完全不同, 从Windows 2000 以后, 微软把二者的内核统一了, 就像雷凌和卡罗拉, 汉兰达和陆放, 陆地巡洋舰和LX570, 完全就是一个架构上的两种外观. 如Window XP和 Windows Server 2003, Vista和Windows Server 2008, Win 7 和 Server 2008 R2, Win 8 和 Server 2012, Win 8.1 和Server 2012 R2, Win 10和Server 2016 / 2019 / 2022. 是的, Win 10对应了三代服务器版本.

所谓服务器版本, 无非就是从系统功能上做了一些调整, 比如服务器端往往砍掉了蓝牙, 游戏组件之类的支持, 同时预装软件也很少, 系统资源调度上更倾向于后台服务, 同时增加各种服务器组件. 因为附带的乱七八糟的预装少, 加上和客户端系统相同内核导致可以轻松把系统改造成客户端系统, 很多本来就相信服务器系统比客户端系统稳定的朋友们就乐于自定义和改造服务器系统, 然后在自己的电脑上使用, 我们称之为”服务器党”. 是的, 我其实也是这个党派的成员…

而现在, 终于Windows Server也来到了 Windows 11的时代.

因为是测试版本, 因此有过期日期, 到了9月16日以后就会提示无法使用. 不过这不是问题, 等新版测试版甚至正式版出来, 直接升级就行了.

Windows Server 22538 II

作为客户端用起来和普通的Windows 11没有任何区别, 虽然是测试版系统也没觉得特别不稳定 (因为Windows 11自己也不怎么样), 反正我也不怎么折腾系统, 能用才是王道. 不过使用中还是发现了一点小问题, 比如, 我本来安装的是中文版, 我想把系统界面改成英语版本, 按说Windows改语言是很轻松的, 结果实操一下, 报错了…

Windows Server 22538 III

正常的安装语言流程是Windows从微软的服务器上把语言包下载到本地安装, 从错误情况看, 我是点完下载 就开始报错, 因此我怀疑错误原因是微软压根没把语言包放在服务器上, 导致压根没找到语言包. 好在微软提供了Language and Optional Features 镜像, 甭费劲了, 直接把镜像里面带”en-us”的包全都考出来, 然后安装:

1
dism /online /add-package /packagepath:<en-us包的存放文件夹>
Windows Server 22538 IV

果然, 这下正常了, 下面只要切换成英文即可.

顺便说一下, 向微软反馈问题还是挺麻烦的, 他们会要求你提供一大堆的详细信息. 所以我还是放弃了, 真没时间.

写到这里, 窗外的雪已经下的很大, 这样的天气, 必须带俩米下楼玩儿雪呀, 不写了, 就到这里了, 拿上从北海道扛回来的雪橇, 出发 ~~~

俩米在北海道 I 俩米在北海道 II 俩米在北海道 II 俩米在北海道 II

Read More

寄花集 第一

2022-02-08

寄花集 第一

我一直想把写点东西当成习惯, 所以难免会出现两个问题, 第一, 太监了, 也就是有些连贯的东西写着写着就写不下去了, 比如Python教程和温格自传的翻译; 另一个则是凑数, 想写点什么, 但又没得写, 所以凑数就是必然. 这方面我比较服古龙, 老大直接找学生代笔, 而且是明目张胆, 表里一致, 绝不装B, 大丈夫本色.

我就比较悲催了, 代笔是不可能有人帮忙的, 还好我想出另一个办法, 就是把几个彼此没有一点逻辑关系的小段落排个一二三四五凑在一起, 变成一篇文章, 看起来还有点鲁迅先生的风格, 是不是很NB? 对了, 为了提升格调, 我准备给这类文章统统加个题目, 然后加上第一 第二这样的排序, 以后再也不用担心没得写了, 这就是”寄花集” 这个系列的由来, 这是第一篇.

寄花的名字, 我是抄的白居易老的一首诗 <<初与元九别后忽梦见之及寤而书适至兼寄桐花诗…此寄>>, 因为其中一句

桐花诗八韵,思绪一何深

是的, 聪明的你一定发现了, 我是百度了”思绪 诗句” 然后出来的结果, 哈哈.

先装B, 然后坦白自己装B了, 这是我目前比较欣赏的装B模式, 似乎不是那么虚伪了, 有没有?

另外说一句, 白居易老做梦能梦见元稹老, 这纯爷们儿之间的感情也真够真挚的了…

本次冬奥会, 我看得最多的比赛是混双冰壶和短道速滑. 前者不难理解, 我这么单纯的一个人, 肯定不是冲着范苏圆小姐姐, 我只是单纯喜欢这项运动. 至于短道速滑, 毫无疑问, 比赛本身够

范苏圆小姐姐在比赛中

激烈刺激, 加上又是中国优势项目, 每每有我国健儿在场, 我都难免血脉偾张, 紧握双拳. 这次冬奥会的速滑比赛, 一大变化就是引入了多台高速摄像机作为裁判的辅助工具, 多角度无死角的准确回放使得比赛判罚的准确性得到大大提升, 最大的受益者就是那些专注比赛的优秀运动员, 当然, 最大的受害者自然就是平时以耍赖玩儿坏著称的某国的下三滥选手, 是的, 说的就是昨晚三名运动员全都被罚出局的韩国队, 就是你们丫挺的. 尤其从汉城奥运会到02世界杯再到平昌冬奥会, 只要你们是东道主, 有你们不玩儿赖的比赛吗? 骂你们臭SB有没有冤枉你们? 你们敢舔着脸说自己有半点体育精神? 玩儿不起的癞皮狗, 活该!

当然, 新技术的引入和裁判机制多少也影响了比萨的节奏, 尤其比赛结束, 获胜的运动员也不能第一时间尽情庆祝, 而必须多花时间等裁判的最终判决. 这点, 其实和当初足球引入VR很像. 记得刚刚引入VR, 进球后球员不会再像以前那样第一时间激情庆祝, 而是得等裁判的裁决, 一旦VR介入, 那等待时间就更长, 等主裁判判决进球有效, 进球的球员早就进入贤者模式了…

当然, 无论如何, 科技的进步无可避免会影响到竞技体育, 无论作为比赛参与者的运动员, 裁判员, 还是观众, 都要适应新的变化. 不过只要能让癞皮狗不舒服, 就是进步!

在全球500强企业中, 微软无论如何都是不能被忽视的那个. 无论我们个人是否使用或喜欢微软的产品, 软件或硬件, 无可否认, 微软对整个社会的推动力和影响力远远超出了互联网和信息领域. 话说最近我偶然发现了微软面向普通公众推出的免费学习平台 Microsoft Learn.

Microsoft Learn主页

大概看了看, Learn为大家免费提供了包括微软自家几乎全部产品和技术的学习课程, 更难能可贵的是, Learn还包含了不少非微软开发或主导的业界主流技术课程. 而且, 微软就怕我们不知道怎么学, 还支持按职业规划提供学习路径:

Microsoft Learn 职业规划建议

诚然, 微软这么干也有”推广产品从娃娃抓起”的意思, 但推出如此细致全面的课程和方便的体验, 微软”就怕你不愿意学习”的苦心, 您get到了没?

回到冬奥会. 这次的开幕式我从头到尾看了一个遍, 最大感受大体是两个. 第一, 整个开幕式相当精彩, 无论形式还是内容. 第二, 和08年开幕式比, 央视的转播能力完全没有提升, 很多精彩的地方并没有完全体现出来, 国家队的水准依然有待提升.

北京冬奥会开幕式 1

如果和08年奥运会开幕式相比, 08年开幕式大概讲述了一个”我们是谁”的故事. 厚重的历史底蕴, 充满活力的现在, 无与伦比的群体力量, 透过08年开幕式, 一个高速发展的, 走向强大的中国就这样屹立在亚洲的东方, 每个国人都胸怀复兴的梦想和崛起的自信, 锋芒毕露, 光芒四射.

北京冬奥会开幕式 2

而这次的开幕式, 给我的最大感受是清新, 简练, 温暖. 我们不再急于给全世界上课, 我们不用再费心费力讲故事. 没有铺张的场景, 没有繁文缛节, 我们诚心请您做客, 为您沏上一碗清茶, 和您相向而坐, 没有高谈阔论, 只是朋友间真挚而平和的问候, 而最受关注的火炬点燃仪式, 我们干脆就直接把所有人齐心合力传递的火炬放在了各个国家组成的雪花中间, 远远看上去几乎看不到燃烧的火焰, 而实际上高压氢燃料的火焰虽小, 却坚韧地燃烧着, 温暖着各个国家, 有如现在的世界, 战争, 危机无处不在, 西方霸权和冷战思维依然在延续, 恐怖主义依然猖狂, 疫情侵袭着本就脆弱的经济形势, 而中国自己也面临着很多的问题和隐患… 和平和希望看起来是那么微弱, 但并非不存在, 且依然温暖着这个世界, 就像这枚火炬一样.

北京冬奥会开幕式 2

尤其这次冬奥会的口号, 已经把我们的想法表露无疑. 是的, 现实世界一片狼藉, 但希望的火种从不曾熄灭. 坚韧, 奋斗, 正直, 学习… 人类拥有的所有美德都是保护火种的最好工具, 只要火种在, 让大多数人都乐于憧憬的未来就在.

北京冬奥会开幕式 2

当然了, 开幕式上还是有一些小细节能看出我们刻在DNA里的”大国梦”, 无论是国旗的传递仪式, 还是中国运动员入场后响彻全场的”五星红旗迎风飘扬, 胜利歌声多么想亮”.

北京冬奥会开幕式 2

嗯, 听说这次冬奥会最火的还是这个小胖子. 毕竟谁会拒绝长黑眼圈的胖子呢. 对了, 我还认识一个人也快有黑眼圈了, 而且也有点胖, 小姐姐们有没有兴趣认识一下:)

冰墩墩

哦对了, 上面冬奥会的图片全部来自新华社, 感谢!

Read More

二位米爷的假期<前篇>

2022-02-06

二位米爷的假期<前篇>

大米每天都在头大的问题是...

不可否认, 大米跟我的关系有点纠结. 好的时候就像亲哥们儿怎么都行, 不好的时候看见对方都头疼. 毫无疑问, 大米绝对是让我头大的第一名.不过谢天谢地, 这家伙也有头大的时候.

话说假期伊始, 棒球队开始为期一周的全天集训. 我和小齐一拍即合, 决定让俩米自己体验一下我们当年的寒暑假, 两个小家伙自己带着家钥匙, 从早上起床, 出门买早点到自己找地方吃完饭回家洗漱,一条龙全部自己完成. 抛开俩米的独立能力不谈, 这俩家伙一听没人管了, 一致大声叫好, 尤其大米, 估计是想到再也没人催自己写作业了, 简直就跟到了49年似的. 看着大米得意的笑, 我心想, 走着瞧, 有你高兴的.

小米训练

话说俩米分工明确, 小米拿家钥匙和我的小号手机, 大米负责结账扫码. 一开始俩米都挺满意. 小米兜里揣着钥匙和手机, 觉得自己像个大管家, 大米负责结账, 自然是风光无限, 结果就这么过了几天, 俩米晚上开始有课 (双减背景下, 低调, 低调), 大米晚上突然找我, 跟我商量能不能早上带着平板走, 我说你带不带是你的自由这我不管, 只是你们晚上7点上课, 4点棒球集训就结束了, 你有必要背着大平板出门? 晚上回家上课岂不美哉? 谁知大米顿时脸就黑了, 跟我说, 你是不知道每天我跟小米为了去哪里吃晚饭得打多长时间…

大米训练

哈哈, 大米也有头大的时候, 开心~~~

诚实的俩米

话说俩米棒球集训期间, 故事不少, 争斗不断, 相爱相杀被俩米演绎得淋漓尽致. 但是有一件事, 绝对让我觉得这就是老子养的孩子, NB.

事情是这样的. 俩米每天晚上集训完的流程一般是: 收拾装备 - 商量去哪吃晚饭 - 打架 - 继续打架 - 打累了 - 某人先妥协 (话说这个妥协的十有八九是大米, 我猜的) - 吃晚饭 - 去711买第二天的早点 - 回家写作业 (一般不写) - 洗漱 - 睡觉. 这次的故事就发生在711. 话说自从俩米获得了自己去超市的机会, 那家伙, 俩米知道我不让她们买巧克力制品做早点, 好哒, 人家没买, 然后找个理由说教练夸自己练的努力, 然后得给自己来点额外的奖励, 你们当家长的不能拦着吧? 于是, 买巧克力就名正言顺了.

大米训练

某日, 小米拿了几个711卖的那种特别小的巧克力, 顺手就放大衣兜里了, 结果结账时小米就给忘了个一干二净, 大米也不知道, 店员也不知道… 就这样, 小米回家从兜里拿出几个巧克力, 大米当时就惊了, 一问果然没结账, 于是俩米决定不告诉我和小齐, 而是开始了自行解决…

大米训练

具体过程我们当时并不知情, 而是事后听说, 俩米的解决方案是, 去711买了同样的巧克力, 结账, 然后把买到的巧克力放回货架. 当我知道整件事的第一反应, NB, 真NB, 做人不泯灭良心, 我最看重的事情, 俩米做到了, 欧耶. 不过事后我也和小齐进行了反思, 为什么这么好的事情俩米选择不告诉我们? 难道我就这么可拍, 这么不值得信任? 个中缘由, 值得深思呀…

俩米是怎么让我答应买18个冰淇淋的

话说大过节的, 整天吃饱了长肉也不合适, 于是决定出门骑车, 路线就是起点在奥森的42公里绿色骑行道. 话说这个骑行道从奥森到十三陵水库, 沿线穿过几个城市森林公园, 按说景色是完全OK的. 结果故事就发生在骑行路上的某个城市森林公园, 不是我卖关子, 是我满脑子都是18个冰淇淋, 气得我完全忘了公园叫什么了.

这个公园有几个设施, 应该就是让像大小米这样精力旺盛又不怎么好静的家伙折腾用的. 其中有个设施, 就长下面这个样子,

小米游戏

得有小一个成人的高度, 滑不出溜, 只能靠拽着绳子上去. 俩米一见大喜过望, 拽着绳子就是一顿操作猛如虎, 然后纷纷兵败而归. 我寻思着这孩子还是得鼓励为主是吧, 我就想, 得嘞, 你们爬上去我就奖励你们一个冰淇淋. 结果我这脑袋就抽了, 嘴也瓢了, 不知怎么就说成了”你们爬上去一次我就奖励一个冰淇淋”, 俩米也不含糊, 直接理解为”我们爬上去一次你就奖励我们每人一根冰淇淋, 且上不封顶”…

大米游戏

就这样, 俩米不是在玩儿了, 完全是在虐待这个设施. 后来俩米玩的连绳子都不需要了, 直接一个箭步腾空, 抓着栏杆就上去了… 就这样, 大米一共搞了9个冰淇淋, 小米也搞了7个. 有人说了, 那为什么一共18个? 唉, 还不是我看小米玩儿到第7次没体力了, 我怕小米不高兴比大米少俩, 所以我上去帮小米完成俩么…

说好的找东西, 怎么变成玩儿冰车了

话说大米这家伙在丢三落四的方面天赋绝对源自我这里. 东西放哪儿一会儿就能忘, 然后我们俩大眼瞪小眼, 一对儿大笨蛋. 这次就是. 大米从团结湖到北五环我父母家过春节, 第二天上课发现教具落团结湖了. 嘿, 我这脾气能忍? 想想又得大晚上的开车从北五环跑到东三环这来回折腾, 加上马自达8实在不是个省油的家伙, 我这一脑门子官司. 结果我还没发飙, 大米过来跟我商量, 让我陪她骑车回团结湖, 一起锻炼锻炼, 顺便把教具拿回来. 嘿, 大米不愧是我肚子里的大肠杆菌, 太了解我了. 只要是陪她骑车, 我连个屁都不带放的. 那就走着呗.

大米骑车

从北五环出发, 顺着滨河路 - 奥森北园北门 -奥森北园东门 -安立路 - 北四环 -东四环 -朝阳公园, 一路到达团结湖, 拿东西, 然后从团结湖顺着东直门外大街 - 东二环 - 北二环 - 北二环 - 还是北二环… 是的, 我们卡在北二环了. 话说我就路边去个洗手间, 回来就看大米有点走不动了. 稍加研究, 发现原来路下边就是北护城河, 好巧不巧, 一帮人在河上滑冰. 我跟大米对看三秒钟, 我什么都没说直接掏手机请示领导, 小齐也痛快, 直接恩准, 得嘞, 那就别废话了, 玩儿呗.

大米滑冰

话说这冰车是实在不便宜, 50块钱. 好在不像各大景区公园, 上个冰都得排队, 那就招呼呗. 冰面上很快回荡起大米豪爽的声音, 欢乐的笑声和夕阳的余晖一起洒在冰面上, 我不由得感叹, 这玩儿就是比写作业有意思.

大米滑冰

若干时间后, 冻得哆哆嗦嗦且俩胳膊划冰车划得酸痛的我终于等来了大米说可以回家的旨意. 我如释重负赶紧还冰车走人, 这回家还得骑好远呢, 于是, 从北二环重整旗鼓重新出发, 继续沿着安定门 - 安贞桥 - 北四环 - 鸟巢 - 北辰西路-

大米骑车

科荟路 - 林萃路, 就这么一直骑回了北五环, 顺便还看了看中国刚刚夺冠的场地 - 速滑馆.

大米骑车

一下午从北五环 - 团结湖一个来回 42公里, 我对今年即将开始的全新爷儿俩骑行季有点小期待了, 哈哈.

前篇结束

叨叨叨不知不觉说了小2500字, 这作文我也写的差不多了. 有时候我也想, 这要是没孩子其实也挺好, 自由. 可是有时候看着俩米, 我又觉得这男人得有了孩子, 才算是真正的完全体, 才算是懂得了男人的一生应该怎么度过. 就这样吧, 挺好, 哈哈.

侯宇峰记录于2022年2月7日, 大年初七

Read More

形象理解Numpy中的三维数组

2022-01-29

形象理解Numpy中的三维数组

从2021年4月1日开始尝试用Blog记录自己的想法以来, 这是整整第50篇, 算下来应该有十万字了. 今天是除夕, 那么, 就用写作的方式, 为自己的牛年画上一个句号吧.

自从决定要开始走上终身学习的道路以来, 我收获了不少, 也是失去了一些. 总体来说, 眼界提高, 思路扩宽, 学会了很多好用的工具, 做了更多好玩儿的事情, 虚度光阴的感觉慢慢远去, 这种感觉还是挺好的. 学习道路上最开心的一件事是, 大学时期学过的C语言和Java一塌糊涂, 让我以为自己的脑子学不了编程, 直到接触Python以后, 简单明了的语法, 贴近自然的语言, 结合对工作和生活中遇到的问题的总结整理, 让我能真正接触到了一门计算机语言, 而且确实能帮我解决实际的问题, 这也让我有兴趣继续学习研究Python的具体应用, 比如它最擅长的数据分析领域.

自从重新开启学习之路的时候, 我发现和以前上学时期最大的不同, 就是抽象思维能力退化了. 以前可以凭空理解一些无法具象化的概念和知识体系, 比如微积分. 现在发现, 我已经很难再具有这样的能力. 各种符号, 各种变量, 各种函数必须要和实际挂钩, 才能理解真正的含义. 但是好处是, 学习效率更高, 目的性更强, 和实际问题结合的更好. 比如编程, 我现在开始明白了:

计算机语言并非凭空创造, 仅仅是对现实世界的逻辑化抽象

学习Python数据分析时间尚浅, 我依然处在对基础概念的准备阶段, 而这段时间, 我也一直在摸索着了解数组的概念, 毕竟数组是Python数据分析的基础. 下面我总结一下我对一维到三维数组的理解.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 一维数组
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# 二维数组
array([[1, 1, 1],
[2, 1, 2]])
# 三维数组
array([[[2, 5, 7],
[2, 8, 2],
[3, 6, 4]],

[[7, 3, 3],
[2, 1, 1],
[7, 6, 6]],

[[4, 2, 7],
[3, 5, 1],
[3, 5, 6]]])

如果按照一般的学习思路, 应该是如何用[]和,去表示数组的维度和元素,然后学习用:去切片获得数组中的某些元素, 但是经过尝试, 我的抽象思维能力让我很难去凭空理解这一切都是在干什么, 于是, 我尝试结合几何的概念来理解, 毕竟, 几何图形好歹是看得见的东西.

一维数组最简单, 线而已. 数组元素的个数, 或者说数组的长度就是这条线的长度, 怎么样, 抽象的概念直接就变成看得见摸得着的图形了.

二位数组也很简单, 平面. 下面就是二维数组

1
2
array([[1, 2, 3],
[4, 5, 6]])

的图形形式.

二维数组

如果引入坐标, 那么元素1就是(0,0), 6 就是(1,2). 至于为什么不是(1,1)和(2,3), 嗨, 计算机算数不是都要从0开始么, 可能计算机有点弯吧…

这里最难理解的其实是三维数组. 一开始, 我是用下面的形式理解三维数组:

三维数组

看起来似乎挺简单, 但是我发现这样导致我把三维数组给二维化了, 虽然对数组的操作都是对的, 但这样不利于我理解三维数组, 所以, 还是让三维数组丰满起来吧, 毕竟谁不喜欢丰满的呢…

三维数组

看到了吧, 所谓的三维数组, 可以理解为在一个立体的空间里, 有N张平行的平面, 每个平面都是一个二维数组. 这有点像图书馆的感觉. 书架的每一层都是一个一维数组, 一个书架就是若干层组成的二维数组, 不同的书架组成了一个三维数组, 我想, 三维数组的初步概念, 差不多也就是这样了. 后续可以通过做一些切片练习, 来更熟悉三维数组的概念, 比如, 我如何获得上面这个三维数组的[8,11]两个元素? 这就相当于我如何让温柔可爱萌萌哒图书馆管理员小姐姐帮我从书架上把书取下来? 然后借机再要个微信什么的, 然后…

跑题了, 大概就是这个意思. 三维数组确实是我学习Python数据分析遇到的第一个坎, 通过这个例子我确实明白了, 人不能跟自己过不去, 别难为自己, 不同的人生阶段有不同做事的方法, 承认现实, 寻求方法, 总有突破. 比如, 我虽然大概弄明白了三维数组的概念, 但如果是这么一个三维数组呢:

array([[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]])

奇怪的三维数组

当时我其实有点懵, 这不就是一个一维数组么, 怎么又成了三维的了? PS的好身材你骗谁呢? 照例, 数形结合, 画图说明, 这才明白, 人家确实是个三维数组, 只是碰巧这个图书馆只有一个书架, 这个书架只有一层, 这层被分割为4段, 每段放了4本书. 事情的真相就是如此, 哦耶.

话说对多维数组的理解暂时告一段落了, 那为什么我不去理解四维或更高维数组? 因为我的人生经历导致我无法理解三维以上的世界, 更没法把这些概念和我认识的现实加以联系, 所以, 就这样吧, 真遇到问题再说, 反正也没考试考我这个了, 毕业的好处立刻展现, 哈哈.

Read More

四十, 为什么就能不惑?

2022-01-21

四十, 为什么就能不惑?

子曾经曰过, 四十不惑 (吾十有五而志于学,三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而从心所欲,不逾矩)

非著名的会武术的二手科学家郭德纲老师早年间解释过这句话, 说男人到四十就不能祸祸了.

我这人就是喜欢刨根问底, 为什么三十九岁零三百六十四天晚上还惑呢, 睡了一宿就不惑了? 是不想惑了? 是没的惑了? 还是惑不动了? 还是惑的权利被剥夺了? 还是这宿觉没睡踏实导致惑神经坏死了? 这不惑到底是好事还是坏事?如果是坏事, 那蓝色小药丸能否解决这个问题?

我之所以这么多疑问,是因为我现在满脑袋的惑,子曰的那种; 还有满脑袋的祸祸, 郭老师的那种. 我现在是边疑惑, 边祸祸别人, 还顺便祸祸自己. 坦白说, 有时候我也不知道我到底想干嘛, 比如开车, 我嘴里吹着口哨, 踩油门的感觉, 就像春风在山谷漫步, 拂过每一束花朵, 却从不停留, 连续而温柔. 春风从不会让花朵疼痛, 我也不会让发动机转速超过2000转. 不仅是想省油, 而是我不喜欢急赤白脸的感觉.

草原

遇到行人自行车 (注: 不含电动自行车) , 我也绝对是能停则停, 能让则让, 不是从最近北京提倡机动车转弯让行, 而是在09年, 那时还没学本时, 我和小齐去杭州, 深切被当地的出行环境震惊了, 从那时起, 我就心中告诉自己, 要当个文明的司机. 所以, 十来年, 我从来没向行人和自行车按过喇叭, 哪怕是他们大摇大摆在我的道路上前行.

好的, 现在, 一个文明,优雅, 又悠闲的形象就诞生了. 但很遗憾, 除了这些, 我还惑呢. 我惑的是, 为什么我在人行道停车让人家先过, 老有傻叉在我后面按喇叭? 为什么前面红灯了我开始收油, 后面就拿远光晃我? 为什么每条车道都很堵, 边上的就非得挤我前面? 为什么并线不是顶着前车并线, 而是非得挤着后面的我?

惑完了, 就是祸祸了. 我礼让人行道你丫催我是吧? 直接下车敲车玻璃问后车是不是家里出了什么人命关天或者和绿色有关的事情非得按两下喇叭? 郭老师告诉我们, 我也道儿上堵着呢, 你家里能有什么事儿? 也有过后车司机掏出橡胶棍子想招呼我, 我赶忙冲边上摄像头露出幸福的微笑, 盘算着这次是不是就能退休了,然后等着对方伺候伺候我…

反光镜

是的, 我就是这么人, 惑的很, 而且老想祸祸点什么. 看谁太顺眼了, 我想祸祸, 看谁不太顺眼了, 我也想祸祸. 所以我再想, 难道真的到了四十就不惑了, 也不想祸祸了?

这让我想起了孔融让梨的故事. 以前老是用这个故事告诉我中华民族的传统美德. 但后来读了<<三国志>>, 我就不明白了, 孔融孔大哥从小就这么通透的人, 小的时候就知道让着家里人, 怎么长大了就变了, 别人尚且不提, 连自己的领导曹操都不让着点, 结果就是丢了性命, 岂不怪哉? 按说曹操也不是小心眼的人, 能写出”对酒当歌, 人生几何? 譬如朝露, 去日苦多” 诗句的人物, 理论上心胸也差不到哪儿去. 而且老曹在文学的地位丝毫不比他的政治和在中国历史的地位低, 孔大哥好歹是个文人, 就算对官场的曹操不作兴, 对当时的文坛领袖曹操应该还是要客气点吧? 怎么就惹得老曹一怒之下就把自己给搞死了? 孔大哥去世时五十多了, 按说也不惑了十几年了, 何况曰四十不惑的子可是您老祖儿, 您家传的不惑神功, 怎么您没学到家?

看来, 四十不是必须不惑, 由此推论, 那继续祸祸也是可以的, 只要遵纪守法,是吧?

按说到这里有了大概的结论, 这道题就算做完了. 直到某天, 我登录了自己为了接收各种邮件而注册的热邮邮箱 (不知道了吧, 就是我大微软的hotmail, 比东京还hot哟), 一封邮件突然闯入我的视野:

回忆

当时的场景是一方面计划好的公司环球包场因为疫情而推迟, 一方面不得不在家办公,一边干活还得一边应付两个不停围着我吵的活宝, 我脑袋快爆炸了, 不是一般惑, 是大惑, 惑得我都想祸祸那两个活宝, 眼看一场以一敌二的男子单打比赛就要展开, 我的邮箱就收到这么一张图片.

哦, 用了这么久的OneDrive, 才发现OneDrive有这么一个功能, 就是会把你存在上面的照片按照拍摄日期, 把历史上当天拍的照片推给你.看着照片里刚被我剃光脑袋的小米, 那个刚会自己刷牙还跟我显摆的大米, 我当时就不惑了.

是的, 我惑, 所以我祸祸. 我惑, 是因为我忘了自己要干嘛. 人么, 时间久了就不新鲜了, 就习惯了, 然后就把习惯当成了目的, 以为我每天朝九晚五就是目的, 以为喋喋不休就是目的, 以为祸祸别人就是目的. 把自我凌驾到每个人之上, 希望万事万物皆以我为核心, 为我的世界增光添彩, 让我的人生无比好玩儿. 然而事情本非如此. 我的习惯不是目的, 我的喋喋不休也不是目的. 我其实没忘记自己想干什么, 但是我已经不想再为那个真正的目的努力, 我想苟且, 然后找一堆里有说服自己苟且的重要性以及必要性. 在如此的割裂中, 我只好惑, 然后祸祸.

如此下去, 也许有一天我会彻底认同苟且的态度, 然后真的不惑, 也不祸祸了…

说到这里, 看起来这应该是一篇低质量的OneDrive软文, 但是很遗憾, 我年年给微软钱买OneDrive, 而不是微软给我钱, 所以软文我是不写的, 我不能软, 男人可不能软, 曾经有一位哲人曾经说过,

男人不能说不行, 女人不能说随便

考虑到这位哲人一生女友无数, 我身不能至, 心, 心里好像其实也不怎么向往他的生活啦. 只是, 我梦想的不惑应该是, 虽千万人, 吾往矣. 我想做, 我去做, 我能做, 我做了, 我成了. 目前离这个目标全面达成还有百分之百的差距, 但是这位哲人又说了:

明知是对的为什么不去做, 明知是不对的为什么还要去做

看看, 哲人就是哲人, 要不人家女朋友多呢. 得了, 今天想说的也说差不多了, 闲聊几句, 没什么干货. 下次聊什么我还没想好, 想好了就跟您聊, 88.

Read More