2017-04-12 1 views
1

Ich habe das folgende Beispiel zu transformieren. Nach dem Verketten mehrerer CSV-Dateien behalte ich den Index jeder Zeile 0 bis zur letzten Zeile der Datei in jeder Datei, wie unten dargestellt.Fügen Sie eine Indexspalte in der CSV-Datei hinzu

Column_1 column2 
0 m   4 
1 n   3 
2 4   6 
3 t   8 
0 h   8 
1 4   7 
2 kl   8 
3 m   4 
4 bv   5 
5 n   8 

Jetzt möchte ich eine weitere Spalte am Anfang der Datei indizieren hinzufügen.

 Column_1 column2 
0 0 m   4 
1 1 n   3 
2 2 4   6 
3 3 t   8 
4 0 h   8 
5 1 4   7 
6 2 kl   8 
7 3 m   4 
8 4 bv   5 
9 5 n   8 

Antwort

2

Simpliest ist MultiIndex.from_arrays von numpy.arange oder range:

print (np.arange(len(df.index))) 
[0 1 2 3 4 5 6 7 8 9] 

n = ['a','b'] 
df.index = pd.MultiIndex.from_arrays([np.arange(len(df.index)), df.index], names= n) 
print (df) 
    Column_1 column2 
a b     
0 0  m  4 
1 1  n  3 
2 2  4  6 
3 3  t  8 
4 0  h  8 
5 1  4  7 
6 2  kl  8 
7 3  m  4 
8 4  bv  5 
9 5  n  8 
n = ['a','b'] 
df.index = pd.MultiIndex.from_arrays([range(len(df.index)), df.index], names= n) 
print (df) 
    Column_1 column2 
a b     
0 0  m  4 
1 1  n  3 
2 2  4  6 
3 3  t  8 
4 0  h  8 
5 1  4  7 
6 2  kl  8 
7 3  m  4 
8 4  bv  5 
9 5  n  8 

Wenn Indexnamen nicht notwendig sind, weisen Sie einfach:

df.index = [np.arange(len(df.index)), df.index] 
print (df) 
    Column_1 column2 
0 0  m  4 
1 1  n  3 
2 2  4  6 
3 3  t  8 
4 0  h  8 
5 1  4  7 
6 2  kl  8 
7 3  m  4 
8 4  bv  5 
9 5  n  8 
+0

Hmmm, ein Problem? – jezrael

Verwandte Themen