• <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

            他強(qiáng)由他強(qiáng),清風(fēng)拂山崗;他橫由他橫,明月照大江。他自狠來(lái)他自惡,我自一口真氣足

              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              20 隨筆 :: 47 文章 :: 22 評(píng)論 :: 0 Trackbacks
            最近經(jīng)常用pandas進(jìn)行一些數(shù)據(jù)分析,感覺(jué)功能確實(shí)很強(qiáng)大,上手也還比較方便。但是無(wú)意見(jiàn)發(fā)現(xiàn)了一個(gè)關(guān)于DataFrame和Series賦值的性能問(wèn)題。
            從網(wǎng)上摘取一些數(shù)據(jù)一條一條的放入DataFrame中,當(dāng)數(shù)據(jù)量較大時(shí),感覺(jué)運(yùn)行特別慢。原來(lái)還以為是DataFrame運(yùn)算時(shí)比較耗時(shí),但是用二維list數(shù)組讀取數(shù)據(jù),然后一次性放入DataFrame中卻會(huì)快很多。寫了一個(gè)簡(jiǎn)單的測(cè)試程序進(jìn)行對(duì)比。
             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 


            測(cè)試結(jié)果如下圖:

            可以看出DataFrame一行一行的填充數(shù)據(jù)是非常耗時(shí)的(與添加行的列數(shù)關(guān)系不大),最好是list或dict等標(biāo)準(zhǔn)容器填充數(shù)據(jù)后一次性導(dǎo)入到DataFrame中去。
            posted on 2015-08-11 09:15 胡雨田 閱讀(6915) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 編程技巧
            亚洲综合久久综合激情久久| 亚洲国产精品无码久久久蜜芽| 久久狠狠爱亚洲综合影院 | 久久久久综合中文字幕| 久久人人爽人人爽人人片AV不 | 人妻精品久久久久中文字幕69 | 久久精品国产99久久久| 久久99久久99精品免视看动漫| 人人狠狠综合久久亚洲| 欧美午夜A∨大片久久| 很黄很污的网站久久mimi色| 国产精品欧美久久久久无广告| 人人狠狠综合久久亚洲88| 欧美伊香蕉久久综合类网站| 国产精品岛国久久久久| 久久99精品国产99久久6男男| 国产精品九九九久久九九| 久久九九青青国产精品| 国产AⅤ精品一区二区三区久久 | 国产精品欧美久久久久天天影视 | 久久亚洲AV永久无码精品| 久久久久无码中| 国内精品伊人久久久影院| 2021国内精品久久久久久影院| 久久精品中文无码资源站| 蜜臀久久99精品久久久久久小说| 99久久久国产精品免费无卡顿| 国产精品久久久久影视不卡| 国产精品欧美久久久久天天影视| 久久嫩草影院免费看夜色| 国内精品伊人久久久久妇| 丁香狠狠色婷婷久久综合| 久久九九免费高清视频| 中文精品久久久久人妻不卡| 久久精品人人做人人妻人人玩| 91久久成人免费| 久久精品中文字幕一区| 97久久久精品综合88久久| 青草久久久国产线免观| 久久亚洲美女精品国产精品| 秋霞久久国产精品电影院|