2017-05-01 5 views
1

Ich habe die folgende Pandas Serie genannt Früchte:eine Reihe von Listen

Out[33]: 
Apples 
0 [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, ... 
1 [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, ... 
2 [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, ... 
3       [0.0, 1.0, 2.0, 3.0, 4.0] 
4 [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, ... 
5 [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, ... 
6 [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, ... 
7       [0.0, 1.0, 2.0, 3.0, 4.0] 
8 [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, ... 
9    [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] 
dtype: object 

ich jede Zeile (horizontal) umkehren will. Ich verwende den Code Fruits [:: - 1], aber die Ausgabe ist die Umkehrung des Index Äpfel (die Spalte). Einige Ideen, um die Serie von Serien umzukehren?

+0

Haben Sie versucht, eine for-Schleife? – Pythogen

Antwort

0

Es scheint, Sie str[::-1] brauchen:

Fruits = pd.Series(
[[0, 1, 2, 3, 4], 
[0, 1, 2, 3, 4], 
[0, 1, 2], 
[0, 1, 2, 3, 4], 
[0, 1]]).rename_axis('Apples') 
print (Fruits) 
Apples 
0 [0, 1, 2, 3, 4] 
1 [0, 1, 2, 3, 4] 
2   [0, 1, 2] 
3 [0, 1, 2, 3, 4] 
4    [0, 1] 
dtype: object 

print(Fruits.str[::-1]) 
Apples 
0 [4, 3, 2, 1, 0] 
1 [4, 3, 2, 1, 0] 
2   [2, 1, 0] 
3 [4, 3, 2, 1, 0] 
4    [1, 0] 
dtype: object 
+0

Es funktioniert! Danke –

+0

Froh kann helfen, schöner Tag! – jezrael

0

Gefällt mir das?

public void foobar() { 
     int[][] data = new int[][] { 
       { 1, 2, 3, 4, 5 }, 
       { 1, 2, 3, 4, 5 }, 
       { 1, 2, 3, 4, 5 }, 
       { 1, 2, 3, 4, 5 }, 
       { 1, 2, 3, 4, 5 } 
     }; 

     loop(data); 

     System.out.println("=>"); 

     loopReverse(data); 
    } 

    public void loop(int[][] data) { 
     for(int i=0; i<data.length; i++) { 
      System.out.print(i+"\t"); 
      for(int j=0; j<data[i].length; j++) { 
       System.out.print("["+data[i][j] + "] "); 
      } 
      System.out.println(); 
     } 
    } 

    public void loopReverse(int[][] data) { 
     for(int i=data.length-1; i >= 0; i--) { 
      System.out.print(i+"\t"); 
      for(int j=data[i].length-1; j >= 0; j--) { 
       System.out.print("["+data[i][j] + "] "); 
      } 
      System.out.println(); 
     } 
    } 

Sie erhalten:

0 [1] [2] [3] [4] [5] 
1 [1] [2] [3] [4] [5] 
2 [1] [2] [3] [4] [5] 
3 [1] [2] [3] [4] [5] 
4 [1] [2] [3] [4] [5] 
=> 
4 [5] [4] [3] [2] [1] 
3 [5] [4] [3] [2] [1] 
2 [5] [4] [3] [2] [1] 
1 [5] [4] [3] [2] [1] 
0 [5] [4] [3] [2] [1] 
+0

Ist fast das, was ich will. Wie auch immer, ich benutze Python, benutzt du Java? –

0
s = pd.Series({0: [0, 1, 2, 3, 4], 
1: [0, 1, 2, 3, 4], 
2: [0, 1, 2, 3, 4], 
3: [0, 1, 2, 3, 4], 
4: [0, 1, 2, 3, 4]}) 

s.index.name='Apples' 

print(s) 
Apples 
0 [0, 1, 2, 3, 4] 
1 [0, 1, 2, 3, 4] 
2 [0, 1, 2, 3, 4] 
3 [0, 1, 2, 3, 4] 
4 [0, 1, 2, 3, 4] 
dtype: object 

# use apply function to reverse the values row by row. 
s.apply(lambda x: x[::-1]) 
Out[850]: 
Apples 
0 [4, 3, 2, 1, 0] 
1 [4, 3, 2, 1, 0] 
2 [4, 3, 2, 1, 0] 
3 [4, 3, 2, 1, 0] 
4 [4, 3, 2, 1, 0] 
dtype: object 
Verwandte Themen