甲NumPy的解決方案將是與性能的基本陣列數據進行工作 -
tab['average'] = tab.values.mean(1)
要選擇特定列,像'A'
和'B'
-
tab['average'] = tab[['A','B']].values.mean(1)
運行測試 -
In [41]: tab = pd.DataFrame(np.random.randint(0,9,(10000,10)))
# @piRSquared's soln
In [42]: %timeit tab.assign(Mean=tab.mean(1))
1000 loops, best of 3: 615 µs per loop
In [43]: tab = pd.DataFrame(np.random.randint(0,9,(10000,10)))
In [44]: %timeit tab['average'] = tab.values.mean(1)
1000 loops, best of 3: 297 µs per loop
In [37]: tab = pd.DataFrame(np.random.randint(0,9,(10000,100)))
# @piRSquared's soln
In [38]: %timeit tab.assign(Mean=tab.mean(1))
100 loops, best of 3: 4.71 ms per loop
In [39]: tab = pd.DataFrame(np.random.randint(0,9,(10000,100)))
In [40]: %timeit tab['average'] = tab.values.mean(1)
100 loops, best of 3: 3.6 ms per loop
謝謝你,晚安!簡單得多! – user2822693