前言有些人看到這個問題覺得不是問題,是嘛,不就是df.col[]函數嘛,其實忽略了一個重點,那就是我們要省去把csv文件全部讀取這個過程,因為如果在面臨億萬級別的大規模數據,得到的結果就是boom,boom,boom。我們要使用一下現成的函數里面的參數nrows,和skiprows,一個代表你要讀幾行,一個代表你從哪開始讀,這就可以了,比如從第3行讀取4個示例代碼importpandasaspddf=pd.DataFrame({'a':[1,2,3,4,5
系統 2019-09-27 17:54:21 2074
參考鏈接:1.在類內部獲取類名和方法名代碼:importsysclasstestsqawd(object):defhello(self):print('thenameofmethodis##{}##'.format(sys._getframe().f_code.co_name))print('thenameofclassis##{}##'.format(self.__class__.__name__))if__name__=='__main__':ttt=
系統 2019-09-27 17:54:00 2074
最近編寫的自動化腳本,數據部分使用到了從配置文件中取,即自定義config.ini,但是在讀取配置文件的時候卻報錯了'gbk'codeccan'tdecodebyte0xb0inposition30。錯誤信息的意思是gbk'編解碼無法解碼字節0xb0。開始我以為是配置文件中出現了中文字符,可檢查后發現并沒有。在網上查了相關資料后,無果。于是請教了其他同事,經過十幾分鐘的檢查和驗證,原來我在創建congfi.ini文件時,默認保存的編碼類型是UTF-8。于是
系統 2019-09-27 17:52:28 2074
A_star算法與Dijkstra算法Grassfire算法主要不一樣的地方就在于加入了一個度量目前的節點與目標點之間的距離的啟發函數:常用的啟發函數有:算法介紹就不詳細敘述了,本文主要是通過python實現A*算法在01地圖中(0表示可通行區域,1表示障礙區域)的最優路徑尋找,最終效果為:其中6是其進行行走的路徑。下面在程序中,對算法中所設計到的需要進行抽象的對象及算法的邏輯流程進行了概述:#需要進行抽象化的有:節點(屬性有:xy坐標父節點g及h)地圖(
系統 2019-09-27 17:51:25 2074
1.linux下消息記錄關于系統的各種消息一般都會記錄在/var/log/messages文件中,有些主機在中默認情況下有可能沒有啟用,具體配置方法可參考下面這篇博客:系統日志配置/var/log/messages2.python代碼實現原理其實很簡單,就是讀/var/log/messages文件,找到有關usb的信息就可以了。#!/usr/bin/envpythonusbmsg=open("/var/log/messages","r")forlinein
系統 2019-09-27 17:50:15 2074
importrequests,time,csvfrombs4importBeautifulSouphref_list=[]url='https://hz.58.com/lvguanbinguan'headers={'user-agent':}params={'PGTID':'0d306b32-0004-f711-87c6-3e3cb7371c0d','ClickID':'2'}res=requests.get(url,headers=headers,par
系統 2019-09-27 17:49:24 2074
slots魔法:當我們需要限定自定義類型的對象只能綁定某些屬性,可以通過在類中定義__slots__變量來進行限定。__slots__的限定只對當前類的對象生效,對子類并不起任何作用。靜態方法和類方法:靜態方法可解決對象未創建出來的問題。案例:例如我們定義一個正方形類,通過四個邊長來構造正方形,并提供計算面積的方法。定義類方法:類方法的第一個參數約定名為cls,它代表的是當前類相關的信息的對象(類本身也是一個對象,有的地方也稱之為類的元數據對象),通過這個
系統 2019-09-27 17:48:02 2074
在python代碼中可以看到一些常見的trick,在這里做一個簡單的小結。json字符串格式化在開發web應用的時候經常會用到json字符串,但是一段比較長的json字符串是可讀性較差的,不容易看出來里面結構的。這時候就可以用python來把json字符串漂亮的打印出來。root@Exp-1:/tmp#catjson.txt{"menu":{"breakfast":{"EnglishMuffin":{"price":7.5},"BreadBasket":{
系統 2019-09-27 17:47:56 2074
eval方法可以直接利用c語言的速度,而不用分配中間數組,不需要中間內存的占用.如果包含多個步驟,每個步驟都要分配一塊內存importnumpyasnpimportpandasaspdimporttimeitdf=pd.DataFrame({'a':np.random.randn(10000000),'b':np.random.randn(10000000),'c':np.random.randn(10000000),'x':'x'})#printdfst
系統 2019-09-27 17:47:34 2074
目錄一、安裝二、Gevent模塊介紹2.1用法介紹2.2例:遇到io主動切換2.3查看threading.current_thread().getName()三、Gevent之同步與異步四、Gevent之應用4.1服務端4.2客戶端4.3多線程并發多個客戶端一、安裝安裝:pip3installgevent二、Gevent模塊介紹Gevent是一個第三方庫,可以輕松通過gevent實現并發同步或異步編程,在gevent中用到的主要模式是Greenlet,它是
系統 2019-09-27 17:46:57 2074