• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            huyutian

            他強由他強,清風拂山崗;他橫由他橫,明月照大江。他自狠來他自惡,我自一口真氣足

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              20 隨筆 :: 47 文章 :: 22 評論 :: 0 Trackbacks
            最近經常用pandas進行一些數據分析,感覺功能確實很強大,上手也還比較方便。但是無意見發現了一個關于DataFrame和Series賦值的性能問題。
            從網上摘取一些數據一條一條的放入DataFrame中,當數據量較大時,感覺運行特別慢。原來還以為是DataFrame運算時比較耗時,但是用二維list數組讀取數據,然后一次性放入DataFrame中卻會快很多。寫了一個簡單的測試程序進行對比。
             1 """
             2 Created on Sun Jul 12 16:29:57 2015
             3 @author: hbhuyt
             4 """
             5 
             6 import pandas as pd
             7 import random
             8 import timeit
             9 
            10 
            11 def func1():
            12     aa = []
            13     for x in xrange(200):
            14         aa.append([random.randint(0, 1000) for r in xrange(5)])
            15     pdaa = pd.DataFrame(aa)
            16 
            17 def func2():
            18     pdbb = pd.DataFrame()
            19     for y in xrange(200):
            20         pdbb[y] = pd.Series([random.randint(0, 1000) for r in xrange(5)])
            21 
            22 def func3():
            23     aa = {}
            24     for x in xrange(200):
            25         aa[str(x)] = random.randint(0, 1000)
            26     psaa = pd.Series(aa)
            27 
            28 def func4():
            29     psbb = pd.Series()
            30     for y in xrange(200):
            31         psbb[str(y)] = random.randint(0, 1000)
            32 
            33 
            34 t1 = timeit.timeit(stmt =func1, number=1000)
            35 t2 = timeit.timeit(stmt =func2, number=1000)
            36 print t1, t2
            37 t3 = timeit.timeit(stmt =func3, number=1000)
            38 t4 = timeit.timeit(stmt =func4, number=1000)
            39 print t3, t4
            40 


            測試結果如下圖:

            可以看出DataFrame一行一行的填充數據是非常耗時的(與添加行的列數關系不大),最好是list或dict等標準容器填充數據后一次性導入到DataFrame中去。
            posted on 2015-08-11 09:15 胡雨田 閱讀(6915) 評論(0)  編輯 收藏 引用 所屬分類: 編程技巧
            日韩精品久久久肉伦网站| 精品久久久久久无码人妻蜜桃 | 韩国免费A级毛片久久| 麻豆精品久久久一区二区| 无码精品久久一区二区三区| 欧洲成人午夜精品无码区久久| 97久久综合精品久久久综合| 久久综合日本熟妇| 国产精品美女久久久| 国产精品久久久久免费a∨| 国产精品久久久久久福利69堂| 日日狠狠久久偷偷色综合96蜜桃| 亚洲中文精品久久久久久不卡| 狠狠色综合久久久久尤物| 亚洲国产精品18久久久久久| 久久精品亚洲乱码伦伦中文| 91精品国产综合久久精品| 囯产极品美女高潮无套久久久| 久久久久久毛片免费看| 国产精品久久久久久久久免费| 亚洲第一极品精品无码久久| 精品久久久一二三区| 欧美大战日韩91综合一区婷婷久久青草| 久久国产精品一国产精品金尊| 久久久久久免费视频| 久久久久人妻精品一区三寸蜜桃| 久久久国产精品福利免费 | 精产国品久久一二三产区区别| 国产香蕉97碰碰久久人人| 99久久精品免费国产大片| 精品亚洲综合久久中文字幕| 精品久久久久中文字幕日本| 99久久无色码中文字幕人妻| 性欧美丰满熟妇XXXX性久久久| 国产69精品久久久久观看软件 | 久久人人爽人人爽人人片AV不| 亚洲日韩中文无码久久| 亚洲精品乱码久久久久久蜜桃图片 | 久久久久久免费视频| 亚洲欧美国产精品专区久久 | 97久久精品人人做人人爽|