置 信 区 间 一 文 读 懂
专题04文言文阅读-2023一模分类汇编(江西地区)(含解析)

专题04 文言文阅读-2023一模分类汇编(江西地区)阅读下面的文言文,完成下面小题。
黄鲁直德性夙成黄鲁直得洪州解头①,赴省试。
公与乔希圣数人待榜②,相传鲁直为省元③。
同舍置.酒,有仆自门被发大呼而入,举三指,问之,乃公与同舍三人,鲁直不与。
坐上数人皆.散去,至有流涕者,鲁直饮酒自若。
饮酒罢,与公同看榜,不少见于颜色。
公尝为其妇翁④孙莘老言:“重之后妻死,作《发愿文》⑤,绝嗜欲,不御酒肉。
”至黔州命下⑥,亦不少动。
公在归州⑦日,见其容貌愈光泽。
留贬所累年,有见者,无异.仕宦时。
议者疑鲁直,其德性殆夙成⑧,非学而能之。
【注】①黄鲁直:宋代文学家、书法家黄庭坚。
洪州:今江西省南昌市。
解头:又称“解元”“举首”,指乡试第一名。
①公:此处指孙升。
待榜:等待录取名单公布。
①省元:省试第一名。
①妇翁:俗指岳父,孙莘老是黄庭坚的岳父。
①《发愿文》:见《豫章黄先生文集》卷二十一。
①黔州命下:黄庭坚曾为《神宗实录》检讨官,后有人指责《实录》有不实之处,黄庭坚就被贬为涪州(今重庆涪陵)别驾、黔州(今重庆彭水县)安置。
①不少动:不稍改变。
少,同“稍”。
①归州:地名。
①殆:大概。
夙成:长期养成。
1.解释文中加点词的含义。
(1)置.( )(2)皆.( ) (3)异.( )2.把文中画横线的句子翻译成现代汉语。
(1)问之,乃公与同舍三人,鲁直不与。
(2)饮酒罢,与公同看榜,不少见于颜色。
3.结合文章内容,说说你认为黄庭坚是一个怎样的人。
阅读下面的文言语段,完成问题。
①杨景行,字贤可,吉安太和州人。
登延祐二年进士第,授赣州路会昌州判官。
会昌民素不知井.饮,汲于河流,故多疾疠;不知陶瓦,以茅覆屋,故多火灾。
景行教民穿井以饮,陶瓦以代茅茨,民始免于疾疠火灾。
豪民十人,号十虎,干政害民,悉捕置之法。
乃创学舍,礼师儒,劝民斥腴田以膳士,弦诵之声遂盛。
②调永新州判官,奉郡府命,核民田租,除刬①宿弊,奸欺不容,细民赖.焉。
改任江西行省照磨,转抚州路宜黄县尹,理白冤狱之不决者数十事。
2025版《师说》高中全程复习构想语文题型五 文言文阅读简答

【即练即悟】
2.阅读下面的文言文,完成文后的题目。 陈选字士贤,台之临海人。天顺庚辰试礼部,丘文庄得其文,曰: “古君子也。”置第一。授监察御史。罗一峰论夺情被谪,先生抗疏 直之。出按江西,藩臬以素服入见,先生曰:“非也。人臣觐君,服 视其品秩,於御史何居?”不事风裁,而贪墨望风解绶。已,督学南 畿,一以德行为主。试卷列诸生姓名,不为弥封,曰:“吾且不自信, 何以信于人邪?”每按部就止学宫,诸生分房诵读,入夜灯火萤然, 先生以两烛前导,周行学舍,课其勤惰,士风为之一变。 (节选自《明儒学案》,有删改)
乙卯,方伯公领乡书。丙辰,成进士。己未,官比部郎。太夫人相从京 师。居四年,不置一鲜丽服。丙寅,方伯公佥宪江西,时长宪者喜敲扑, 公庭号楚声不绝。太夫人闻之,戚然曰:“彼盛怒易解耳,而生命难续, 且若之何以人灼骨之痛,博己一快也?”方伯公为之改容曰:“请佩此言 当韦。”戊寅,方伯公以大参备兵通、泰,寻由河工超迁河南右辖。未几, 转左。日夜期会簿书间,力渐耗。太夫人时时风方伯公:“且休矣!即不 能爇琴燔鹤以饱,夫岂其无双田之毛、东湖之水?”方伯公曰:“所谓拂 衣者难妻孥也,汝若是又奚难!”而癸未需次调补,竟请告归,从太夫人 意也。居尝语诸子曰:“尔父累俸,稍拓田庐,然不尽与尔曹,而推以赡 族,惟是念祖父之余,不可专食也。尔当识此意附谱后,绝孙曾他肠,令 吾族人得世世食此土,不亦美乎!”其平居语识大义类若此。
英语阅读理解解题三大步骤

英语阅读理解解题三大步骤英语阅读理解解题三大步骤阅读时语言学习的重要能力,了解阅读的步骤可以更快更好的掌握阅读内容。
下面是店铺整理的英语阅读理解解题三大步骤,欢迎大家阅读!一、读问题(做阅读最重要的一个步骤。
如果连问题都读不懂,肯定做不对题) 把问题分为两类:1、需要记住的问题:凡是问题中涉及到原文具体内容信息的问题,记住问题中的原文信息;重点放在记时间,地点,大写的词或者名词上(原因:名词在文中不容易改变)。
要记的信息,能读懂的尽量读懂,实在读不懂的记长相,记中文就可以。
记信息的目的是为一会儿读原文做准备(读原文时主要的目的在于找出问题中记住的内容信息,对映处即为问题答案所在位置),并且在读文章前先对文章内容有一个大概的了解。
2、不需要记住的.问题:问题中没有涉及到原文具体内容的(换句话说就是不能用原文中某一处信息作答的题目)此类的问题有:主旨题(mainidea),中心思想题(Fromthetext,wecanlearnthat…),作者态度题(Thewriterwantstotellus…_)和判断对错题。
针对此类问题,读文章前,重点放在含有原文内容信息的题目上,一会儿做题时也是先做划的题目,再做不划的题目。
二、读原文1、读原文的主要目的:划出解题所需要的内容信息,包括:刚才读问题时脑中记的原文信息(把问题中所问的东西在文中找出来);转折词:but,however,although,though;重点强调的词或是绝对化的词:none,only,all,everything,must,always;数字及序数词。
读出整篇文章的大概方向及围绕着什么东西说的。
2、开始读文章读文章总则:从头到尾读,读时脑中反映中文意思,但是按照英文单词出现顺序接受信息。
读的重点放在文章的段首句,转折句和整篇文章的最后几句。
三、解题1、先做文中划出对映信息的题目第一步:关注问题问的是什么?(问什么答什么)第二步:精确答案所在位置(在读原文时中,我们已经在原文中划出问题中出现的具体内容。
科研论文中常见的P值和显著性是什么意思?一文搞懂P值及其计算

我们常常在科研论文的数据分析部分或者某些科普文章引用的资料当中见到涉及P值的统计学报表以及相关的显著性判断。
非专业读者看到这些关于P值和'显著性'的描述往往是一头雾水(如下表),大多略过,但实际上这些统计结果才是一篇论文中最准确直接的定性结论。
了解了P值的含义和显著性的判定,可以帮助我们快速掌握科研论文中第一手研究数据的指向和意义。
一个p值统计报表的例子P值往往涉及统计结果显著性的判定,因此我们得从显著性的概念说起。
本文将用通俗的文字来简介相关的统计学概念,并附上P值的计算方法。
统计显著性和置信度任何理论(或认识)都没法保证其关于现实的推测是100%正确的,这归因于理论永远都只是对现实世界真相的大致概括和特征提取。
理论只能无限趋近于真实,但无法达到真实。
人类利用的仅仅是越来越接近真相的理论而已。
所以对于任何说法,都有一个可信度问题。
而通过对于现实的重复测试,我们将能够了解某个说法究竟有多可信,不同的说法之间是存在着可信度的差异的。
这就像是盲人摸象之后,每个盲人说出的有关大象外形的可信度是有差别的,而且只要让盲人们多摸几次,他们对大象长相的描述会越来越接近真实。
了解不同观点的可信度,是统计的目的之一。
统计中所谓的'显著性'就是可信度的一种指标。
具有 统计显著性的结果反映的是经过严格的测试得到的结果达到了一定可信度——专业术语叫 '置信度'(又叫“置信水平”) , 它表明我们在多大程度上相信结论不会因随机因素而发生偏差。
更具体地说,置信度是我们所持理论预测出来的结果在指定区间出现的可能性。
显著性 跟 置信度 的内涵异曲同工,但它们的表述方法刚好相反,且 在应用中描述方式略有差异:· 对于置信度一般我们会说'……实验结果落在某个置信区间的可能性可以达到多高……'(这个可能性越大置信度就越高)· 而对于显著性我们会说'……我们的理论假设被否定的可能性小于多少,我们的假设就可以被称为显著或者极显著……'(这个可能性越小显著性越高)也就是说,置信度通常是正面描述(拒伪的),而且通常需要与一个置信区间关联起来。
6-5 两个正态总体均值及方差比的置信区间

6.5 两个正态总体均值差及 方差比的置信区间
1. 两正态总体均值差 µ1 − µ 2的置信区间
2 σ1 2. 两个总体方差比 2 的置信区间 σ2
3. 小结
设给定置信度为1 − α , 并设 X 1 , X 2 ,⋯, X n 为 第一个总体 N ( µ1 ,σ 1 )的样本 , Y1 ,Y2 ,⋯,Yn 为第二
要点回顾
无偏性 1. 估计量的评选的三个标准 有效性 相合性 2. 置信区间是一个随机区 (θ , θ ), 它覆盖未知参 间 ( 数具有预先给定的概率置信水平) , 即对于任
意的θ ∈Θ, 有 P{θ < θ < θ } ≥ 1−α. 求置信区间的一般步骤(分三步 分三步). 求置信区间的一般步骤 分三步
例4 分别由工人和机器人操作钻孔机在纲部件 上钻孔,今测得所钻的孔的深度(以cm计)如下 上钻孔,今测得所钻的孔的深度( 计
工人 操作 机器人 操作 4.02 3.64 4.03 4.02 3.95 4.06 4.00 4.01 4.03 4.02 4.01 4.00 3.99 4.02 4.00
2 σ1 , 由 X , Y 的独立性及 X ~ N µ1 , n1 2 2 σ1 σ 2 , + 可知 X − Y ~ N µ1 − µ 2 , n1 n2
2 σ2 , Y ~ N µ2 , n2
或
( X − Y ) − (µ1 − µ 2 ) ~ N (0, 1),
2 s1 s12 1 1 2 , 2 s F (6,7) s F (6,7) = ( 2.87,46.81). 0.95 2 2 0.05
这个区间的下限大于1,在实际中, 这个区间的下限大于 ,在实际中,我们就认为
2023年新高考语文I卷与II卷文言文注释详解

2023年新高考I卷文言文注释详解材料一:襄子围(被围困,“傅说举于版筑之间”的“举”表示被选拔,两者用法相同,都表被动)于晋阳中(介宾结构做状语,后置。
于,在),出围(解围),赏有功者五人,高赫(赵襄子的家臣)为赏首(受赏者中功推第一的人)。
张孟谈(人名,赵襄子的家臣)曰:“晋阳之事,赫无大功,今为赏首,何(为什么)也?”襄子曰:“晋阳之事,寡人(寡德之人,意为“在道德方面做得不足的人”。
是古代君主、诸侯王对自己的谦称)国家危,社稷(指国家。
社,土地神)殆(殆,危险。
可以用对称法判断,国家危、社稷殆)矣。
吾群臣无有不骄侮(高傲轻慢,侮慢)之意者,唯(只有)赫子不失君臣之礼(礼节),是以(因此)先(意动用法,以之为先)之。
”仲尼闻之,曰:“善(善于;擅长)赏哉,襄子赏一人而天下为人臣者莫敢失礼矣。
”或(有人)曰:仲尼不知(懂得)善赏矣。
夫(句首发语词,可不译)善赏者,百官不敢侵职(超越自己的职责侵犯他人职守),群臣不敢失礼。
上(君主在上)设(设置)其法,而下(臣子在下)无奸诈之心。
如此(像这样),则(那么)可谓善赏罚矣。
襄子有君臣亲(亲近密切)之泽(恩泽) , 操(掌握;控制)令行禁止(下令行动就立即行动,下令停止就立即停止。
形容法令严正,执行认真)之法,而犹(还)有骄侮之臣,是襄子失罚(失去惩罚原则)也(是…也…,判断句)。
为人臣者,乘(计量;计算,此指谋事)事而有功则赏。
今赫仅(仅仅)不骄侮,而(表转折,却)襄子赏之,是失赏也。
故曰:仲尼不知善赏。
(节选自《韩垂子·难一》)材料二:陈人有武臣,谓子鲥(即孔鲋,孔子八世孙)曰:“韩子立法,其所以(…的原因)异夫子(特指孔子)之论者纷如(众多,纷繁复杂)也。
予(我)每(常常)探(探究)其意而校(查对;核计)其事,持久历远(经历久长),遏(阻止)奸劝(鼓励、劝勉,与《兼爱》“不可以不劝爱人”中的“劝”词义相同)善,韩氏未必非(错误),孔氏未必得(合适,治当)也。
说明文阅读答案解析

说明文阅读训练卷——初一年级期末复习〔一〕手机确定你的位置①当今时代,手机已经越来越普及,移动通信技术的开展使人和人之间的沟通更加方便,给人们的生活带来了很多的便利。
随着手机技术的成熟和开展,同时也带动了各种新昔无线业务的出现,如彩铃、彩信和手机上网等等。
我们在这里要介绍的是手机的无线定位技术。
②无线定位技术的应用非常广泛。
在军事上,这项技术可以用以锁定敌对目标的住置。
例如,在第一次车臣战争期间,俄罗斯军队用导弹击毙正在用手机通话的杜达耶夫,就使用了这项技术。
在公共平安方面,警方在处理绑架案件的时候,可以通过这项技术确定使用手机的绑匪的位置。
在日常生活中,这项技术可以派上大用场,倒如,给迷路的人指引方向,救助突发疾患的病人等等。
那么,怎么用手机来定位呢?③无线定位可分为卫星无线定位和地面无线定位。
在卫星定位技术中,最有名的就是全球定位系统(GPS),这是一种利用卫星系统实现移动目标三维定位的技术。
而地面无线定位那么通过测量无线电波的传播时间、信号场强、相位、入射角度等参数实现移动目标的定位。
手机定位技术属于地面无线定位系统。
④手机定位有各种不同的形式,各种不同的定位业务对定位精度的要求也不一样。
我们都知道,手机处在外地漫游状态时,其通话费的计算就另有标准,那么这种定位所需的技术就比拟简单。
移动通信网有很多基站,每个基站覆盖一定的区域,在这个区域的手机与基站发生通信联系.从而确定其大致位置。
⑤在手机的无线定位系统中,为了防止对移动终端增加额外开销,多采用的是基于网络的定位方案,由多个基站同时接收和检测手机发出的信号,根据测量到的参数由计算机对其进展定位估计。
为了获得这些参数,就需要在基站中安装监测设备,再把这些数据通过计算机处理,从而估计出手机的大致位置。
手机信号的参数有传播时间、信号场强、入射角度等。
⑥从手机发出的信号到达基站,需要一定的时问,根据电磁波的传播速度可以算出手机与基站之间的距离。
那么,如果通过多个基站进展这种测量,就可以计算出手机的位置。
文言文阅读教案

第九课时文言文翻译题的 3 大着眼点教学要点:1、了解文言文翻译坚持的三大原则2、根据语境读懂、领会某一个句子的意思,能从语句内容、语意阐释和语气效果等方面把这个句子用现代汉语的形式表达出来。
教学过程:一、文言文翻译坚持的三大原则:“信”是指译文要准确无误,就是要使译文忠于原文,如实地、恰当地运用现代汉语把原文翻译出来。
“达”是指译文要通顺畅达,就是要使译文符合现代汉语的语法及用语习惯,字通句顺,没有语病。
“雅”就是指译文要优美自然,就是要使译文生动、形象,完美地表达原文的写作风格。
二、文言文翻译题的 3 大着眼点着眼点1 关键实词关键实词,从词性上看,以动词居多,其次是形容词和名词。
把关键实词翻译到位,就是把句中的通假字、多义词、古今异义词、活用词语(名词用作状语、形容词用作动词、意动用法、使动用法等)、特殊难解词语准确理解,并且在译文中正确地体现出来。
例如:( 安徽) 阅读下面文字,完成⑴—⑷题御史梁皙次先生传( 文略)⑷把原文划线的句子翻译成现代汉语。
②诸子酒酣耳熟,辨难蜂.起,各负.气.不肯相下。
答案:众人酒兴正浓时,辩驳问题纷然并起,人人凭恃义气不肯服输。
( 关键词是:“诸子”,各位先生。
“蜂”,象蜜蜂一样。
“负气”,凭恃义气)着眼点2 关键虚词关键虚词,主要指文言语句中的副词、连词、介词。
虚词的翻译要注意两点:(1)必须译出的:有实词义项的要译出实义,如作代词的“之”其“”等;现代汉语中有与之相对应的虚词进行互换的,如“之”而“”以“”于“”等。
(2)不必译出的:在句中起语法作用的“之”、发语词及句末语气助词等。
关键虚词的翻译,要仔细辨明词性及意义,能译则译,不需要译出的切不可强行译出。
例如:(出处同上)①出知西安之.咸宁,誓于神,不以.一钱自污。
答案:( 梁熙) 出任西安府咸宁知县,向神灵发誓,不会因一文钱而玷污了自己。
( 关键词:“誓”发誓,“以”,因为,必须译处来的虚词,“之”则可不译)着眼点3文言句式文言句式在翻译题目中是重要的得分点,要审出译句中的特殊句式是关键。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
numpy 100题练习上次发的numpy 100题练习一不知道大家学的咋样了大概又放在收藏夹里吃灰了吧,我们加班加点终于把后一半给翻译出来啦~希望各位观众老爷们喜欢~Create a structured array representing a position (x,y) and a color (r,g,b) (★★☆)创建一个表示位置(x,y)和颜色(r,g,b)的结构化数组Z = np.zeros(10, [ (position, [ (x, float, 1), (y, float, 1)]), (color, [ (r, float, 1), (g, float, 1), (b, float, 1)])])print(Z) Consider a random vector with shape (100,2) representing coordinates, find point by point distances (★★☆)对一个表示坐标形状为(100,2)的随机向量,找到点与点的距离Z = np.random.random((10,2))X,Y = np.atleast_2d(Z[:,0], Z[:,1])D = np.sqrt( (X-X.T)**2 + (Y-Y.T)**2)print (D)# 方法2,用scipy会快很多import scipyimport scipy.spatialD = scipy.spatial.distance.cdist(Z,Z)print (D)How to convert a float (32 bits) array into an integer (32 bits) in place?(★★☆)如何将32位的浮点数(float)转换为对应的整数(integer)?Z = np.arange(10, dtype=np.int32)Z = Z.astype(np.float32, copy=False)print (Z)How to read the following file? (★★☆)如何读取以下文件?1, 2, 3, 4, 56, , , 7, 8 , , 9,10,11Z = np.genfromtxt(s, delimiter=, dtype=np.int)print(Z)What is the equivalent of enumerate for numpy arrays? (★★☆)对于numpy数组,enumerate的等价操作是什么?Z = np.arange(9).reshape(3,3)for index, value in np.ndenumerate(Z): print (index, value)for index in np.ndindex(Z.shape): print (index, Z[index])Generate a generic 2D Gaussian-like array (★★☆)生成一个通用的二维Gaussian-like数组X, Y = np.meshgrid(np.linspace(-1,1,10), np.linspace(-1,1,10))D = np.sqrt(X*X+Y*Y)sigma, mu = 1.0, 0.0G = np.exp(-( (D-mu)**2 - ( 2.0 * sigma**2 ) ) )print (G) How to randomly place p elements in a 2D array? (★★☆)对一个二维数组,如何在其内部随机放置p个元素?n = 10p = 3Z = np.zeros((n,n))np.put(Z, np.random.choice(range(n*n), p, replace=False),1)print (Z) Subtract the mean of each row of a matrix (★★☆)减去一个矩阵中的每一行的平均值X = np.random.rand(5, 10)# numpy最新版本的方法Y = X - X.mean(axis=1, keepdims=True)print(Y)# numpy之前版本的方法Y = X- X.mean(axis=1).reshape(-1, 1)print (Y)How to I sort an array by the nth column? (★★☆)如何通过第n列对一个数组进行排序?Z = np.random.randint(0,10,(3,3))print (Z)print (Z[Z[:,1].argsort()])How to tell if a given 2D array has null columns? (★★☆)如何检查一个二维数组是否有空列?Z = np.random.randint(0,3,(3,10))print ((~Z.any(axis=0)).any())Find the nearest value from a given value in an a rray (★★☆)从数组中的给定值中找出最近的值Z = np.random.uniform(0,1,10)z = 0.5m = Z.flat[np.abs(Z - z).argmin()]print (m)Considering two arrays with shape (1,3) and (3,1), how to compute their sum using an iterator? (★★☆)如何用迭代器(iterator)计算两个分别具有形状(1,3)和(3,1)的数组?A = np.arange(3).reshape(3,1)B = np.arange(3).reshape(1,3)it = np.nditer([A,B,None])for x,y,z in it: z[.] = x + yprint (it.operands[2])Create an array class that has a name attribute (★★☆)创建一个具有name属性的数组类class NamedArray(np.ndarray): def __new__(cls, array, name=no name): obj = np.asarray(array).view(cls) = name return obj def __array_finalize__(self, obj): if obj is None: return = getattr(obj, name, no name)Z = NamedArray(np.arange(10), range_10)print ()Consider a given vector, how to add 1 to each element indexed by a second vector (be careful with repeated indices)? (★★★)考虑一个给定的向量,如何对由第二个向量索引的每个元素加1(小心重复的索引)?Z = np.ones(10)I = np.random.randint(0,len(Z),20)Z += np.bincount(I, minlength=len(Z))print(Z)# 方法2np.add.at(Z, I, 1)print(Z)How to accumulate elements of a vector (X) to an array (F) based on an index list (I)? (★★★)根据索引列表(I),如何将向量(X)的元素累加到数组(F)?X = [1,2,3,4,5,6]I = [1,3,9,3,4,1]F = np.bincount(I,X)print (F) Considering a (w,h,3) image of (dtype=ubyte), compute the number o f unique colors (★★★)考虑一个(dtype=ubyte) 的 (w,h,3)图像,计算其唯一颜色的数量w,h = 16,16I = np.random.randint(0,2,(h,w,3)).astype(np.ubyte)F = I[.,0]*(256*256) + I[.,1]*256 +I[.,2]n = len(np.unique(F))printConsidering a four dimensions array, how to get sum over the last two axis at once? (★★★)考虑一个四维数组,如何一次性计算出最后两个轴(axis)的和?A = np.random.randint(0,10,(3,4,3,4))sum = A.sum(axis=(-2,-1))print (sum)# 方法2sum = A.reshape(A.shape[:-2] + (-1,)).sum(axis=-1)print (sum)Considering a one-dimensional vector D, how to compute means of subsets of D using a vector S of same size describing subset indices? (★★★)考虑一个一维向量D,如何使用相同大小的向量S来计算D子集的均值?D = np.random.uniform(0,1,100)S = np.random.randint(0,10,100)D_sums = np.bincount(S, weights=D)D_counts = np.bincount(S)D_means = D_sums - D_countsprint (D_means)# 方法2import pandas as pdprint(pd.Series(D).groupby(S).mean())How to get the diagonal of a dot product? (★★★)如何获得点积 dot prodcut的对角线元素?A = np.random.uniform(0,1,(5,5))B = np.random.uniform(0,1,(5,5))# 比较慢np.diag(np.dot(A, B))# 方法2,快一点np.sum(A * B.T, axis=1)# 方法3,快很多np.einsum(ij,ji-i,Consider the vector [1, 2, 3, 4, 5], how to build a new vector with 3 consecutive zeros interleaved between each value? (★★★)考虑一个向量[1,2,3,4,5],如何建立一个新的向量,在这个新向量中每个值之间有3个连续的零?(★★★)Z = np.array([1,2,3,4,5])nz = 3Z0 = np.zeros(len(Z) + (len(Z)-1)*(nz))Z0[::nz+1] = Zprint (Z0)Consider an array of dimension (5,5,3), how to mulitply it by an array with dime nsions (5,5)? (★★★)考虑一个维度(5,5,3)的数组,如何将其与一个(5,5)的数组相乘?A = np.ones((5,5,3))B = 2*np.ones((5,5))print (A * B[:,:,None])How to swap two rows of an array? (★★★)如何对一个数组中任意两行做交换?A = np.arange(25).reshape(5,5)A[[0,1]] = A[[1,0]]print (A)Consider a set of 10 triplets describing 10 triangles (with shared vertices), find the set of unique line segments composing all the triangles (★★★)考虑一个可以描述10个三角形的triplets,找到可以分割全部三角形的line segmentfaces = np.random.randint(0,100,(10,3))F = np.roll(faces.repeat(2,axis=1),-1,axis=1)F = F.reshape(len(F)*3,2)F = np.sort(F,axis=1)G =F.view( dtype=[(p0,F.dtype),(p1,F.dtype)] )G = np.unique(G)print(G)Given an array C that is a bincount, how to produce an array A such that np.bincount(A) == C? (★★★)给定一个二进制的数组C,如何产生一个数组A满足np.bincount(A)==CC = np.bincount([1,1,2,3,4,4,6])A = np.repeat(np.arange(len(C)), C)print (A)How to compute averages using a sliding window over an array? (★★★)如何通过滑动窗口计算一个数组的平均数?def moving_average(a, n=3) : ret = np.cumsum(a, dtype=float) ret[n:] = ret[n:] - ret[:-n] return ret[n - 1:] - nZ = np.arange(20)print(moving_average(Z, n=3))Consider a one-dimensional array Z, build a two-dimensional array whose first row is (Z[0],Z[1],Z[2]) and each subsequent row is shifted by 1 (last row should be (Z[-3],Z[-2],Z[-1]) (★★★)考虑一个一维数组Z,构造一个2维数组,第一行是(Z[0],Z[1],Z[2]),后面每一行都后移一个元素(最后一行是(Z[-3],Z[-2],Z[-1])) (提示: from numpy.lib import stride_tricks)from numpy.lib import stride_tricksdef rolling(a, window): shape = (a.size - window + 1, window) strides = (a.itemsize,a.itemsize) return stride_tricks.as_strided(a, shape=shape, strides=strides)Z = rolling(np.arange(10), 3)print (Z) How to negate a boolean, or to change the sign of a float inplace? (★★★)如何对布尔值取反,或者原位(in-place)改变浮点数的符号(sign)?Z = np.random.randint(0,2,100)np.logical_not(Z, out=Z)Z = np.random.uniform(-1.0,1.0,100)np.negative(Z, out=Z) Consider 2 sets of points P0,P1 describing lines (2d) and a point p, how to compute distance from p to each line i (P0[i],P1[i])? (★★★)考虑两组点集P0和P1去描述一组线(二维)和一个点p,如何计算点p 到每一条线 i (P0[i],P1[i])的距离?def distance(P0, P1, p): T = P1 - P0 L = (T**2).sum(axis=1) U = -((P0[:,0]-p[.,0])*T[:,0] + (P0[:,1]-p[.,1])*T[:,1]) - L U = U.reshape(len(U),1) D = P0 + U*T - p return np.sqrt((D**2).sum(axis=1))P0 = np.random.uniform(-10,10,(10,2))P1 = np.random.uniform(-10,10,(10,2))p = np.random.uniform(-10,10,( 1,2))print (distance(P0, P1, p)) Consider 2 sets of points P0,P1 describing lines (2d) and a set of points P, how to compute distance from each point j (P[j]) to each line i (P0[i],P1[i])? (★★★)考虑两组点集P0和P1去描述一组线(二维)和一组点集P,如何计算每一个点 j(P[j]) 到每一条线 i (P0[i],P1[i])的距离?# 接上一题的函数P0 = np.random.uniform(-10, 10, (10,2))P1 = np.random.uniform(-10,10,(10,2))p = np.random.uniform(-10, 10, (10,2))print (np.array([distance(P0,P1,p_i) for p_i in p])) Consider an arbitrary array, write a function that extract a subpart with a fixed shape and centered on a given element (pad with a fill value when necessary) (★★★)对于任意一个数组,写一个可以给定中心元素和固定形状,输出数组子集的功能(如果有需要,可自动填充数值)Z = np.random.randint(0,10,(10,10))shape = (5,5)fill = 0position = (1,1)R = np.ones(shape, dtype=Z.dtype)*fillP = np.array(list(position)).astype(int)Rs = np.array(list(R.shape)).astype(int)Zs = np.array(list(Z.shape)).astype(int)R_start = np.zeros((len(shape),)).astype(int)R_stop = np.array(list(shape)).astype(int)Z_start = (P-Rs--2)Z_stop = (P+Rs--2)+Rs%2R_start = (R_start - np.minimum(Z_start,0)).tolist()Z_start = (np.maximum(Z_start,0)).tolist()R_stop = np.maximum(R_start, (R_stop - np.maximum(Z_stop-Zs,0))).tolist()Z_stop = (np.minimum(Z_stop,Zs)).tolist()r = [slice(start,stop) forstart,stop in zip(R_start,R_stop)]z = [slice(start,stop) for start,stop in zip(Z_start,Z_stop)]R[r] = Z[z]print (Z)print (R) Consider an array Z = [1,2,3,4,5,6,7,8,9,10,11,12,13,14], how to generate an array R = [[1,2,3,4], [2,3,4,5], [3,4,5,6], ., [11,12,13,14]]? (★★★)考虑一个数组Z = [1,2,3,4,5,6,7,8,9,10,11,12,13,14],如何生成一个数组R = [[1,2,3,4], [2,3,4,5], [3,4,5,6], .,[11,12,13,14]]? (提示: stride_tricks.as_strided)Z = np.arange(1,15,dtype=np.uint32)R = stride_tricks.as_strided(Z,(11,4),(4,4))print (R)Compute a matrix rank (★★★)计算一个矩阵的秩Z = np.random.uniform(0,1,(10,10))U, S, V = np.linalg.svd(Z) # 奇异值分解rank = np.sum(S 1e-10)print (rank)How to find the most frequent value in an array?(★★★)如何找到一个数组中出现频率最高的值?Z = np.random.randint(0,10,50)print (np.bincount(Z).argmax()) Extract all the contiguous 3x3 blocks from a random 10x10 matrix (★★★)从一个10x10的矩阵中提取出连续的3x3区块Z = np.random.randint(0,5,(10,10))n = 3i = 1 + (Z.shape[0]-3)j = 1 + (Z.shape[1]-3)C = stride_tricks.as_strided(Z, shape=(i, j,n, n), strides=Z.strides + Z.strides)print (C)Create a 2D array subclass such that Z[i,j] == Z[j,i] (★★★)创建一个满足 Z[i,j] == Z[j,i]的子类class Symetric(np.ndarray): def __setitem__(self, index, value): i,j = index super(Symetric, self).__setitem__((i,j), value) super(Symetric, self).__setitem__((j,i), value)def symetric(Z): return np.asarray(Z + Z.T - np.diag(Z.diagonal())).view(Symetric)S = symetric(np.random.randint(0,10,(5,5)))S[2,3] = 42print (S) Consider a set of p matrices wich shape (n,n) and a set of p vectors with shape (n,1). How to compute the sum of of the p matrix products at once? (result has shape (n,1)) (★★★)考虑p个 nxn 矩阵和p个形状为(n,1)的向量,如何直接计算p个矩阵的乘积的和(答案的形状是(n,1))?p, n = 10, 20M = np.ones((p,n,n))V = np.ones((p,n,1))S = np.tensordot(M, V, axes=[[0, 2], [0, 1]])print (S)Consider a 16x16 array, how to get the block-sum (block size is 4x4)? (★★★)对于一个16x16的数组,如何得到一个区域(block-sum)的和(区域大小为4x4)?Z = np.ones((16,16))k = 4S = np.add.reduceat(np.add.reduceat(Z, np.arange(0, Z.shape[0], k), axis=0), np.arange(0, Z.shape[1], k), axis=1)print (S)How to implement the Game of Life using numpy arrays? (★★★)如何利用numpy数组实现Game of Life?def iterate(Z): N = (Z[0:-2,0:-2] + Z[0:-2,1:-1] + Z[0:-2,2:] + Z[1:-1,0:-2] + Z[1:-1,2:] + Z[2: ,0:-2] + Z[2: ,1:-1] + Z[2: ,2:]) # 游戏规则 birth = (N==3) (Z[1:-1,1:-1]==0) survive = ((N==2) | (N==3)) (Z[1:-1,1:-1]==1) Z[.] = 0 Z[1:-1,1:-1][birth | survive] = 1 return ZZ = np.random.randint(0,2,(50,50))for i in range(100): Z = iterate(Z)print (Z)How to get the n largest values of an array (★★★)如何找到一个数组的第n个最大值?Z = np.arange(10000)np.random.shuffle(Z)n = 5# 慢print (Z[np.argsort(Z)[-n:]])# 方法2,快print (Z[np.argpartition(-Z,n)[:n]])Given an arbitrary number of vectors, build the cartesian product (every combinations of every item) (★★★)给定任意个数向量,创建笛卡尔积(每一个元素的每一种组合)def cartesian(arrays): arrays = [np.asarray(a) for a in arrays] shape = (len(x) for x in arrays) ix = np.indices(shape, dtype=int) ix = ix.reshape(len(arrays), -1).T for n, arr in enumerate(arrays): ix[:, n] = arrays[n][ix[:, n]] return ixprint (cartesian(([1, 2, 3], [4, 5], [6, 7])))How to create a record array from a regular array? (★★★)如何从一个正常数组创建记录数组(record array)?Z = np.array([(Hello, 2.5, 3), (World, 3.6, 2)])R = np.core.records.fromarrays(Z.T, names=col1, col2, col3, formats = S8, f8, i8)print (R)Consider a large vector Z, compute Z to the power of 3 using 3 different methods (★★★)考虑一个大向量Z, 用三种不同的方法计算它的立方x = np.random.rand()np.power(x,3)# 方法2x*x*x# 方法3np.einsum(i,i,i-i,x,x,x)Consider two arrays A and B of shape (8,3) and (2,2). How to find rows of A that contain elements of each row of B regardless of the order of the elements in B? (★★★)考虑两个形状分别为(8,3) 和(2,2)的数组A和B. 如何在数组A中找到满足包含B中元素的行?(不考虑B中每行元素顺序)?A = np.random.randint(0,5,(8,3))B = np.random.randint(0,5,(2,2))C = (A[., np.newaxis, np.newaxis] == B)rows = np.where(C.any((3,1)).all(1))[0]print (rows)Considering a 10x3 matrix, extract rows with unequal values (e.g. [2,2,3]) (★★★)考虑一个10x3的矩阵,分解出有不全相同值的行 (如 [2,2,3])Z = np.random.randint(0,5,(10,3))print (Z)# 方法一,适用于所有类型的数组,包括字符数组以及record arrayE = np.all(Z[:,1:] ==Z[:,:-1], axis=1)U = Z[~E]print (U)# 方法2,只适用于数字类型数组U = Z[Z.max(axis=1) != Z.min(axis=1),:]print (U)Convert a vector of ints into a matrix binary representation (★★★)将一个整数向量转换为matrix binary的表现形式(★★★)I = np.array([0, 1, 2, 3, 15, 16, 32, 64, 128])B = ((I.reshape(-1,1) (2**np.arange(8))) != 0).astype(int)print(B[:,::-1])# 方法2print (np.unpackbits(I[:, np.newaxis], axis=1))Given a two dimensional array, how to extract unique rows? (★★★)给定一个二维数组,如何提取出唯一的(unique)行?Z = np.random.randint(0,2,(6,3))T = np.ascontiguousarray(Z).view(np.dtype((np.void, Z.dtype.itemsize * Z.shape[1])))_, idx = np.unique(T, return_index=True)uZ = Z[idx]print (uZ)Considering 2 vectors A B, write the einsum equivalent of inner, outer, sum, and mul function (★★★)考虑两个向量A和B,写出用einsum等式对应的inner, outer, sum, mul函数A = np.random.uniform(0,1,10)B = np.random.uniform(0,1,10)print (sum)print (np.einsum(i-, A))#np.sum(A)print (A * B)print (np.einsum(i,i-i, A, B)) # A * Bprint (inner)print (np.einsum(i,i, A, B)) # np.inner(A, B)print (outer)print (np.einsum(i,j-ij, A, B)) # np.outer(A, B) Considering a path described by two vectors (X,Y), how to sample it usin g equidistant samples (★★★)?考虑一个由两个向量描述的路径(X,Y),如何用等距样例(equidistant samples)对其进行采样(sample)?phi = np.arange(0, 10*np.pi, 0.1)a = 1x = a*phi*np.cos(phi)y = a*phi*np.sin(phi)dr = (np.diff(x)**2 + np.diff(y)**2)**.5 # segment lengthsr = np.zeros_like(x)r[1:] = np.cumsum(dr) # integrate pathr_int = np.linspace(0, r.max(), 200) # regular spaced pathx_int = np.interp(r_int, r, x) # integrate pathy_int = np.interp(r_int, r, y)Given an integer n and a 2D array X, select from X the rows which can be interpreted as draws from a multinomial distribution with n degrees, i.e., the rows which only contain integers and which sum to n. (★★★)给定一个整数n和一个2D数组X,从X中选出行,满足n次多项式分布,即行内只有整数且相加为nX = np.asarray([[1.0, 0.0, 3.0, 8.0], [2.0, 0.0, 1.0, 1.0], [1.5, 2.5, 1.0, 0.0]])n = 4M = np.logical_and.reduce(np.mod(X, 1) == 0, axis=-1)M = (X.sum(axis=-1) == n)print (X[M])Compute bootstrapped 95% confidence intervals for the mean of a 1D array X,i.e. resample the elements of an array with replacement N times, compute the mean of each sample, and then compute percentiles over the means. (★★★对于一个一维数组X,计算它boostrapped之后的95%置信区间的平均值。