1.numpyfromfileԴ??
2.python多种读写excel等数据文件的方式(收藏篇)
3.NumPy学习笔记(3.8)输入和输出
4.å¾è§£python(å¾è§£pythonpdf)
5.numpyåºç¡âândarray对象
numpyfromfileԴ??
处理大文件时,若遇到Python内部限制导致offset过大问题,可以自行编写C++函数供Python调用,解决限制。
撰写C++扩展至Python较为复杂,尤其对于国内开发者,源码乐园 code51资料相对稀缺。幸运的是,已有人通过封装PyBind来简化此过程。PyBind为Header-Only库,仅需引入头文件即可使用,且内置对NumPy、Eigen等科学计算库的支持,能从C/C++代码直接返回NumPy数组。
下文提供一个简单的示例供参考。
编写一个填充数据的函数进行测试:
在Python环境下,测试结果表明,我的固态硬盘读取速度稳定在M/s,还算不错。发布源码的网站源码如此速度下,读取这些数据大约需要半分钟。
若需深入理解PyBind,请参考其更多信息。
python多种读写excel等数据文件的方式(收藏篇)
Python提供了多种数据文件的读写方式,适用于文本、excel、数据库和API等多种格式。以下是正版 源码主要的处理方式: 1. 基本文件操作函数: 使用read(), readline(), readlines()可以逐行或一次性读取文本文件内容,其中readline()适合内存有限时。 2. csv模块: 内置的csv模块支持处理CSV文件,是数据科学中常见的格式,能轻松处理不同规模的数据。 3. numpy库: loadtxt(), load(), fromfile()分别用于读取文本、numpy和二进制数据,需确保数据格式规则。 4. pandas库: pandas的强大功能使其能读取多种格式数据,如txt,ping源码 csv, excel, json等,通过read_csv, read_excel等方法输出DataFrame。 5. excel文件处理: 除了pandas,还有xlrd, xlwt, openpyxl等库,各有其特定用途和文件支持格式。 6. 数据库操作: python支持众多数据库接口,如pymysql, sqlalchemy, cx_Oracle等,可用于SQL查询和操作。 这些工具和库为Python的数据处理提供了丰富的手段,可根据具体需求选择合适的漂亮源码方法。想要深入了解Python的更多知识,可以关注公众号编程语言之家获取更多资源。NumPy学习笔记(3.8)输入和输出
csv文件的处理:
在NumPy中,可以使用csv文件进行数据存储与读取,主要有两个函数:
1.numpy.savetxt函数:用于将数组保存为csv文件,格式为numpy.savetxt(frame, array, fmt = '%.e', delimiter = None)。其中frame为文件路径,array为要保存的数组,fmt格式化参数,delimiter为分隔符。
2.numpy.loadtxt函数:用于从csv文件读取数据到数组中,格式为numpy.loadtxt(frame, dtype = np.float, coment = '#', delimiter = None, converters = None, skiprows = 0, usecols = None, unpack = False, ndim = 0, encoding = 'bytes')。参数解释与numpy.savetxt类似,但多了dtype数据类型参数。
二进制文件的处理:
二进制文件的存储与读取,NumPy提供了更简洁的方案。主要使用numpy的tofile和fromfile方法:
1.numpy.ndarray.tofile方法:用于将数组以二进制形式写入文件,格式为ndarray.tofile(frame, sep = '', format = '%s')。frame为文件路径,sep为分隔符,format为数据格式。
2.numpy.fromfile函数:用于从文本或二进制文件中读取数据,构造数组,格式为numpy.fromfile(frame, dtype= np.float, count = -1, sep = '')。frame为文件路径,dtype为数据类型,count读取数据数量,sep为分隔符。
NumPy专用方法:
NumPy提供了专门的方法用于数据的保存与读取,既不会丢失维度信息,也不改变数据类型:
1.numpy.save函数:用于以.npy格式保存文件,格式为numpy.save(fname, array),fname为文件路径,array为要保存的数组。
2.numpy.load函数:用于从.npy文件读取数据,格式为numpy.load(fname),fname为文件路径。
3.numpy.savez函数:用于以.npz格式保存多个数组,格式为numpy.savez(fname, *args, **kwds)。若只保存一个数组,则使用numpy.save函数。
å¾è§£python(å¾è§£pythonpdf)
å¾è§£Pythonä¸æ°æ®åæå·¥å ·å ï¼Numpy
numpyæ¯æå¦ä¹ pythonéå°ç第ä¸ä¸ªç¬¬ä¸æ¹å·¥å ·å ï¼å®å¯ä»¥è®©æ们快éä¸ææ°æ®åæãnumpyæä¾äºåéåç©éµè®¡ç®åå¤çç大é¨åæ¥å£ãç®åå¾å¤pythonçåºç¡å·¥å ·å é½æ¯åºäºnumpyå¼åèæ¥ï¼æ¯å¦scikit-learn,SciPy,pandas,è¿ætensorflowãnumpyå¯ä»¥å¤çè¡¨æ ¼ãå¾åãææ¬çæ°æ®ï¼æ大å°æ¹ä¾¿æ们å¤çååææ°æ®ãæ¬æ主è¦å 容æ¥èªäºJayAlammarçä¸ç¯æç« ä»¥åèªå·±å¦ä¹ è®°å½ã
åæå°åï¼
使ç¨è¿ç¨ä¸ï¼å¦æå¸æNumpyè½å建并åå§åæ°ç»çå¼ï¼Numpyæä¾äºones()ãzeros()årandom.random()çæ¹æ³ãåªéä¼ éå¸æçæçå ç´ æ°éï¼å¤§å°ï¼å³å¯ï¼
è¿å¯ä»¥è¿è¡å¦ä¸æä½ï¼
ä¸è¬ï¼éè¦æ°ç»åå个æ°åä¹é´ä¹å¯ä»¥è¿è¡è¿ç®æä½ï¼å³åéåæ éä¹é´çè¿ç®ï¼ãæ¯å¦è¯´data*1.6ï¼numpyå©ç¨ä¸ä¸ªå«å广ææºå¶ï¼broadcastingï¼çæ¦å¿µå®ç°äºè¿ä¸è¿ç®ãï¼
æ们å¯ä»¥éè¿ç´¢å¼å¯¹numpyæ°æ®è·åä»»æä½ç½®æ°æ®æè 对æ°æ®åç
æ们å¯ä»¥éè¿numpyèªå¸¦çå½æ°å¯¹æ°æ®è¿è¡ä¸äºæ³è¦çèå计ç®ï¼æ¯å¦minãmaxåsumï¼è¿å¯ä»¥ä½¿ç¨meanå¾å°å¹³åå¼ï¼ä½¿ç¨prodå¾å°ææå ç´ çä¹ç§¯ï¼ä½¿ç¨stdå¾å°æ åå·®ççã
ä¸è¿°æä½ä¸ä» å¯ä»¥åºç¨äºå维度æ°æ®ï¼è¿å¯ä»¥ç¨äºå¤ç»´åº¦æ°æ®{ ï¼ç©éµï¼ã
åæ ·å¯ä»¥ä½¿ç¨ones()ãzeros()årandom.random()å建ç©éµï¼åªè¦åå ¥ä¸ä¸ªæè¿°ç©éµç»´æ°çå ç»å³å¯ï¼
numpyè¿å¯ä»¥å¤çæ´é«ç»´åº¦çæ°æ®ï¼
å建æ´é«ç»´åº¦æ°æ®åªéè¦å¨å建æ¶ï¼å¨åæ°ä¸å¢å ä¸ä¸ªç»´åº¦å¼å³å¯ï¼
æ ¹æ®æ°ç»ä¸æ°å¼æ¯å¦æ»¡è¶³æ¡ä»¶ï¼è¾åºä¸ºTrueæFalse.
å¸æå¾å°æ»¡è¶³æ¡ä»¶çç´¢å¼ï¼ç¨np.whereå½æ°å®ç°.
æ ¹æ®ç´¢å¼å¾å°å¯¹åºä½ç½®çå¼.
np.whereä¹å¯ä»¥æ¥åå¦ä¸¤ä¸ªå¯éæ©çåæ°aåbãå½æ¡ä»¶æ»¡è¶³æ¶ï¼è¾åºaï¼åä¹è¾åºb.
è·åæ°ç»æ大å¼åæå°å¼çç´¢å¼å¯ä»¥ä½¿ç¨np.argmaxånp.argmin.
1ãnumpy.tofile()ånumpy.fromfile()
ä¿å为äºè¿å¶æ ¼å¼ï¼ä½æ¯ä¸ä¿åæ°ç»å½¢ç¶åæ°æ®ç±»åï¼å³é½å缩为ä¸ç»´çæ°ç»ï¼éè¦èªå·±è®°å½æ°æ®çå½¢ç¶ï¼è¯»åçæ¶ååreshape.
2ãnumpy.save()ånumpy.load()
ä¿å为äºè¿å¶æ ¼å¼ï¼ä¿åæ°ç»å½¢ç¶åæ°æ®ç±»åï¼ä¸éè¦è¿è¡reshape
å®ä¾ï¼
3ãnumpy.savetxt()ånumpy.loadtxt()
np.savetxt(fname,array,fmt=â%.eâ,delimiter=None)
Parameter解éï¼
array:å¾ åå ¥æ件çæ°ç»ã
fmt:åå ¥æ件çæ ¼å¼
å®ä¾ï¼
æ±python书ç±æ¨è
é¶åºç¡å¦ä½å¦å¥½pythonï¼ä½ä¸ºä¸ä¸ªå¦äºpython两ä¸å¹´çè¿æ¥äººï¼æå½åä¹æ¯ä»0å¼å§ä¸è·¯æ¸ç´¢è¿æ¥çï¼è¿éç»æ³å¦pythonçå°ç½ä»¬å享ä¸ç¹æçå¦ä¹ å¿å¾ã
1.ã笨æ¹æ³å¦Pythonãããæµç çpythonãããEffectivePythonï¼ç¼åé«è´¨éPython代ç ç个æææ¹æ³ãããPythonCookbookãã
2.ãå©ç¨Pythonè¿è¡æ°æ®åæï¼å书第2çï¼ãããPythonæ°æ®ç§å¦æå(å¾çµåºå)ãã
pythonæç¨åªéä¸è½½ï¼pythonæç¨å¯ä»¥å°ãè¾¾å æè²ãå®ç½å¨è¯¢ä¸è½½ã该æºæå大课ç¨ä½ç³»ç´§è·ä¼ä¸éæ±ï¼ä¼ä¸çº§é¡¹ç®ï¼è¯¾ç¨ç©¿æ大åçå®é¡¹ç®è®²è§£ï¼å¯¹æ ä¼ä¸äººææ åï¼å¶å®ä¸ä¸å¦ä¹ 计åï¼åæ¬ä¸»æµçç¹ææ¯ã
pythonå ¥é¨å¦ä¹ ï¼
第ä¸é¶æ®µPythonåºç¡ä¸Linuxæ°æ®åºãè¿æ¯Pythonçå ¥é¨é¶æ®µï¼ä¹æ¯å¸®å©é¶åºç¡å¦åæ好åºç¡çéè¦é¶æ®µãéè¦ææ¡ãPythonãåºæ¬è¯æ³è§åååéãé»è¾æ§å¶ãå ç½®æ°æ®ç»æãæ件æä½ãé«çº§å½æ°ã模åã常ç¨æ ååºæ¨¡åãå½æ°ãå¼å¸¸å¤çãMySQL使ç¨ãåç¨çç¥è¯ç¹ã
第äºé¶æ®µWEBå ¨æ ãè¿ä¸é¨å主è¦å¦ä¹ Webå端ç¸å ³ææ¯ï¼éè¦ææ¡HTMLãCSSãJavaScriptãjQueryãBootStrapãWebå¼ååºç¡ãVUEãFlaskViewsãFlask模æ¿ãæ°æ®åºæä½ãFlaské ç½®çç¥è¯ã
第ä¸é¶æ®µæ°æ®åæ+人工æºè½ãè¿é¨å主è¦æ¯å¦ä¹ ç¬è«ç¸å ³çç¥è¯ç¹ï¼éè¦ææ¡æ°æ®æåãæ°æ®æåãæ°æ®åå¨ãç¬è«å¹¶åãå¨æç½é¡µæåãscrapyæ¡æ¶ãåå¸å¼ç¬è«ãç¬è«æ»é²ãæ°æ®ç»æãç®æ³çç¥è¯ãæå ´è¶£çè¯ç¹å»æ¤å¤ï¼å è´¹å¦ä¹ ä¸ä¸
æ³äºè§£æ´å¤æå ³pythonå¦ä¹ çç¸å ³ä¿¡æ¯ï¼æ¨èå¨è¯¢ãè¾¾å æè²ãã该æºææ¯å¼é¢è¡ä¸çèä¸æè²å ¬å¸ï¼è´åäºé¢åITäºèç½è¡ä¸å¹å »äººæï¼è¾¾å 大åTä¸åºæèä¼æ¯å¹´å®æ举è¡ï¼ä¸ºå¦åæ建快æ·é«æçåé绿è²ééï¼å¨æåå¦åçé¢è¯è½åã积累é¢è¯ç»éªåæ¶ä¹å¸®å©ä¸åææ¯æ¹åçè¾¾å å¦åå¿«éå°±ä¸ãè¾¾å ITå¹è®æºæ,è¯å¬åé¢éæ¶æ¢è´ã
Pythonä¹MySQLæä½MySQLæ¯ç®å使ç¨æ广æ³çæ°æ®åºä¹ä¸ï¼å®æçè¯å¥½çæ§è½ï¼è½å¤è·¨å¹³å°ï¼æ¯æåå¸å¼ï¼è½å¤æ¿åé«å¹¶åãä¸è½½å°åï¼MySQL::DownloadMySQLCommunityServerå®è£ åèï¼å¾è§£MySQL5.7.å å®è£ çé ç½®æ¹æ³-ç¾åº¦ç»éª(baidu.com)
Python大è´æå¦ä¸5ç§æ¹å¼æä½MySQLã
å 使ç¨å¦ä¸å»ºè¡¨è¯å¥å建ä¸å¼ ç®åçæ°æ®åºè¡¨ã
2.1mysqlclient
æ§è¡pipinstallmysqlclientè¿è¡å®è£ ï¼çä¸ä¸å ·ä½æä½ã
æ°å¢
æ¥è¯¢
cursoræ¥çæ¹æ³
ä¿®æ¹
å é¤
2.2PyMySQL
æ§è¡pipinstallpymysqlè¿è¡å®è£ ï¼ä½¿ç¨æ¹å¼ä¸mysqlclientåºæ¬ç±»ä¼¼ã
2.3peewee
æ§è¡pipinstallpeeweeè¿è¡å®è£ ï¼çä¸ä¸å ·ä½æä½ã
å®ä¹æ å°ç±»
æ°å¢
æ¥è¯¢
ä¿®æ¹
å é¤
2.4SQLAlchemy
æ§è¡pipinstallsqlalchemyè¿è¡å®è£ ï¼çä¸ä¸å ·ä½æä½ã
å®ä¹æ å°ç±»
æ°å¢
æ¥è¯¢
ä¿®æ¹
å é¤
Pythonå¦ä¹ æ¥è®°
numpyåºç¡âândarray对象
numpy æ¯ä½¿ç¨pythonè¿è¡æ°æ®åæä¸å¯æ缺ç第ä¸æ¹åºï¼é常å¤çç§å¦è®¡ç®å·¥å ·é½æ¯åºäº numpy è¿è¡å¼åçãndarray对象æ¯ç¨äºåæ¾åç±»åå ç´ çå¤ç»´æ°ç»ï¼æ¯numpyä¸çåºæ¬å¯¹è±¡ä¹ä¸ï¼å¦ä¸ä¸ªæ¯func对象ãæ¬æ主è¦å 容æ¯ï¼1 ãç®åä»ç»ndarray对象ï¼2ãndarray对象ç常ç¨å±æ§ï¼3ãå¦ä½å建ndarray对象ï¼4ãndarrayå ç´ è®¿é®ã
å®ç维度以å个维度ä¸çå ç´ ä¸ªæ°ç± shape å³å®ã
æ é¢ä¸çå½æ°å°±æ¯numpyçæé å½æ°ï¼æ们å¯ä»¥ä½¿ç¨è¿ä¸ªå½æ°å建ä¸ä¸ªndarray对象ãæé å½æ°æå¦ä¸å 个å¯éåæ°ï¼
å®ä¾ï¼
æ¥ä¸æ¥ä»ç»ndarray对象æ常ç¨çå±æ§
å®ä¾ï¼
ä½¿ç¨ array å½æ°ï¼ä»å¸¸è§çpythonå表æè å ç»ä¸å建æ°ç»ï¼å ç´ çç±»åç±ååºåä¸çå ç´ ç±»åç¡®å®ã
å®ä¾ï¼
subok 为 True ï¼å¹¶ä¸objectæ¯ndarrayåç±»æ¶ï¼æ¯å¦ç©éµç±»åï¼ï¼è¿åçæ°ç»ä¿çå类类å
æäºæ¶åï¼æ们å¨å建æ°ç»ä¹åå·²ç»ç¡®å®äºæ°ç»ç维度以åå维度çé¿åº¦ãè¿æ¶æ们就å¯ä»¥ä½¿ç¨numpyå 建çä¸äºå½æ°æ¥å建ndarrayã
ä¾å¦ï¼å½æ° ones å建ä¸ä¸ªå ¨1çæ°ç»ãå½æ° zeros å建ä¸ä¸ªå ¨0çæ°ç»ãå½æ° empty å建ä¸ä¸ªå 容éæºçæ°ç»ï¼å¨é»è®¤æ åµä¸ï¼ç¨è¿äºå½æ°å建çæ°ç»çç±»åé½æ¯floatï¼è¥éè¦æå®æ°æ®ç±»åï¼åªéè¦é²ç½® dtype åæ°å³å¯ï¼
ä¸è¿°ä¸ä¸ªå½æ°è¿æä¸ä¸ªä»å·²ç¥çæ°ç»ä¸ï¼å建 shape ç¸åçå¤ç»´æ°ç»ï¼ ones_like ã zeros_like ã empty_like ï¼ç¨æ³å¦ä¸ï¼
é¤äºä¸è¿°å 个ç¨äºå建æ°ç»çå½æ°ï¼è¿æå¦ä¸å 个ç¹æ®çå½æ°ï¼
ç¹å«å°ï¼ eye å½æ°çå ¨1ç对è§çº¿ä½ç½®æåæ°kç¡®å®
ç¨æ³å¦ä¸ï¼
é¤äºä¸é¢ä¸¤ä¸ªå½æ°è¿æå ¶ä»å 个类似çä»å¤é¨è·åæ°æ®å¹¶å建ndarrayï¼æ¯å¦ï¼ frombuffer ã fromfile ã fromiter ï¼è¿æ²¡ç¨è¿ï¼çç¨å°äºå¨è¯¦ç»è®°å½
ndarrayæä¾äºä¸äºå建äºç»´æ°ç»çç¹æ®å½æ°ãnumpyä¸matrixæ¯å¯¹äºç»´æ°ç»ndarrayè¿è¡äºå°è£ ä¹åçåç±»ãè¿éä»ç»çå ³äºäºç»´æ°ç»çå建ï¼è¿åçä¾æ§æ¯ä¸ä¸ªndarray对象ï¼èä¸æ¯matrixåç±»ãå ³äºmatrixçå建åæä½ï¼å¾ åç»ç¬è®°è¯¦ç»æè¿°ã为äºè¡¨è¿°æ¹ä¾¿ï¼ä¸é¢ä¾æ§ä½¿ç¨ ç©éµ è¿ä¸æ¬¡æ¥è¡¨ç¤ºå建çäºç»´æ°ç»ã
对äºä¸ç»´çndarrayå¯ä»¥ä½¿ç¨python访é®å ç½®listçæ¹å¼è¿è¡è®¿é®ï¼æ´æ°ç´¢å¼ãåçãè¿ä»£çæ¹å¼
å ³äºndarrayåç
ä¸å ç½®liståç类似ï¼å½¢å¼ï¼
array[beg:end:step]
beg: å¼å§ç´¢å¼
end: ç»æç´¢å¼ï¼ä¸å å«è¿ä¸ªå ç´ ï¼
step: é´é
éè¦æ³¨æçæ¯ï¼
ç¹å«æ³¨æçæ¯ï¼ndarrayä¸çåçè¿åçæ°ç»ä¸çå ç´ æ¯åæ°ç»å ç´ çç´¢å¼ï¼å¯¹è¿åæ°ç»å ç´ è¿è¡ä¿®æ¹ä¼å½±ååæ°ç»çå¼
é¤äºä¸è¿°ä¸listç¸ä¼¼ç访é®å ç´ çæ¹å¼ï¼ndarrayæä¸ç§éè¿å表æ¥æå®è¦ä»ndarrayä¸è·åå ç´ çç´¢å¼ï¼ä¾å¦ï¼
å¤ç»´ndarrayä¸ï¼æ¯ä¸ç»´é½å«ä¸ä¸ªè½´axisãå¨ndarrayä¸è½´axisæ¯é常éè¦çï¼æå¾å¤å¯¹äºndarray对象çè¿ç®é½æ¯åºäºaxisè¿è¡ï¼æ¯å¦sumãmeançé½ä¼æä¸ä¸ªaxisåæ°ï¼é对对è¿ä¸ªè½´axisè¿è¡æäºè¿ç®æä½ï¼ï¼åç»å°ä¼è¯¦ç»ä»ç»ã
对äºå¤ç»´æ°ç»ï¼å 为æ¯ä¸ä¸ªè½´é½æä¸ä¸ªç´¢å¼ï¼æ以è¿äºç´¢å¼ç±éå·è¿è¡åå²ï¼ä¾å¦ï¼
éè¦æ³¨æçæ¯ï¼
å¤ç»´æ°ç»çè¿ä»£
å¯ä»¥ä½¿ç¨ndarrayç flat å±æ§è¿ä»£æ°ç»ä¸æ¯ä¸ä¸ªå ç´