2017-01-29 1 views

답변

1

df.loc[index, 'col name'] 당신이 행을

데모를 필터링 할 특히, 더 관용적 선호입니다 : 당신은 단지 하나의 열 '과'돈 '을 필요로 건설 1.000.000 × 3 형태 DF

In [26]: df = pd.DataFrame(np.random.rand(10**6,3), columns=list('abc')) 

In [27]: %timeit df[df.a < 0.5]['a'] 
10 loops, best of 3: 45.8 ms per loop 

In [28]: %timeit df.loc[df.a < 0.5]['a'] 
10 loops, best of 3: 45.8 ms per loop 

In [29]: %timeit df.loc[df.a < 0.5, 'a'] 
10 loops, best of 3: 37 ms per loop 

에 대한 df[:]['Store'] 같은 t 필터 행 - 단순히 df['Store'] 사용하는 것이 좋습니다 : multip의

In [30]: %timeit df[:]['a'] 
1000 loops, best of 3: 436 µs per loop 

In [31]: %timeit df.loc[:]['a'] 
10000 loops, best of 3: 25.9 µs per loop 

In [36]: %timeit df['a'].loc[:] 
10000 loops, best of 3: 26.5 µs per loop 

In [32]: %timeit df.loc[:, 'a'] 
10000 loops, best of 3: 126 µs per loop 

In [33]: %timeit df['a'] 
The slowest run took 5.08 times longer than the fastest. This could mean that an intermediate result is being cached. 
100000 loops, best of 3: 8.17 µs per loop 

Uncoditional 액세스 열 :

In [34]: %timeit df[['a','b']] 
10 loops, best of 3: 22 ms per loop 

In [35]: %timeit df.loc[:, ['a','b']] 
10 loops, best of 3: 22.6 ms per loop 
관련 문제