2017-08-22 4 views
0

Im Folgenden wird ich Pandas ist mit meiner CSV-Datei in folgendem Format zu lesen:Wie lösche ich den ersten Wert in der letzten Spalte eines Pandas Datenrahmens und lösche dann die letzte letzte Zeile?

dataframe = pandas.read_csv("test.csv", header=None, usecols=range(2,62), skiprows=1) 
dataset = dataframe.values 

Wie kann ich löschen Sie den ersten Wert in der letzten Spalte in dem Datenrahmen und löschen Sie die letzte Zeile in dem Datenrahmen?

Irgendwelche Ideen?

Antwort

2

Sie können die letzte Spalte nach oben verschieben, um den ersten Wert loszuwerden, und dann die letzte Zeile löschen.

df.assign(E=df.E.shift(-1)).drop(df.index[-1]) 

MVCE:

pd.np.random.seed = 123 
df = pd.DataFrame(pd.np.random.randint(0,100,(10,5)),columns=list('ABCDE')) 

Output:

A B C D E 
0 91 83 40 17 94 
1 61 5 43 87 48 
2 3 69 73 15 85 
3 99 53 18 95 45 
4 67 30 69 91 28 
5 25 89 14 39 64 
6 54 99 49 44 73 
7 70 41 96 51 68 
8 36 3 15 94 61 
9 51 4 31 39 0 

df.assign(E=df.E.shift(-1)).drop(df.index[-1]).astype(int) 

Output:

A B C D E 
0 91 83 40 17 48 
1 61 5 43 87 85 
2 3 69 73 15 45 
3 99 53 18 95 28 
4 67 30 69 91 64 
5 25 89 14 39 73 
6 54 99 49 44 68 
7 70 41 96 51 61 
8 36 3 15 94 0 

oder in zwei Schritten:

df[df.columns[-1]] = df[df.columns[-1]].shift(-1) 
df = df[:-1] 
+0

Die zwei Schritte funktionierten perfekt! Vielen Dank! – xion

Verwandte Themen