2016-07-21 8 views
2

Gibt es eine elegante Lösung, um nur jede n-te Reihe eines Pandas Datenrahmens zu drucken? Ich möchte zum Beispiel nur jede zweite Zeile drucken.Drucken jede n-te Reihe von Pandas Datenrahmen

könnte dies über

i = 0 
for index, row in df.iterrows(): 
    if ((i%2) == 0): 
     print(row) 
    i++ 

aber ein pythonic Weg, dies ist dort zu tun getan werden?

Antwort

4

slice df die mit einem Schritt mit param iloc:

print(df.iloc[::2]) 

In [73]: 
df = pd.DataFrame(np.random.randn(5,3), columns=list('abc')) 
df 

Out[73]: 
      a   b   c 
0 0.613844 -0.167024 -1.287091 
1 0.473858 -0.456157 0.037850 
2 0.020583 0.368597 -0.147517 
3 0.152791 -1.231226 -0.570839 
4 -0.280074 0.806033 -1.610855 

In [77]: 
print(df.iloc[::2]) 

      a   b   c 
0 0.613844 -0.167024 -1.287091 
2 0.020583 0.368597 -0.147517 
4 -0.280074 0.806033 -1.610855