2017-06-17 1 views
1

Meine TextdateiPandas value.count() Fehler

Name  Surname Age Sex  Grade X 
Chris  M.  14  M  4  10 05 2010 
Adam  A.  17  M    11 12 2011 
Jack  O.    M  8  08 04 2009 
... 

Ich möchte Jahre zählen. Beispiel-Ausgabe: {'2010': 1, "2011": 1 ...} aber ich habe "Key Error: Year".

import pandas as pd 

df = pd.read_fwf("file.txt") 

df.join(df['X'].str.split(' ', 2, expand = True).rename(columns={0: '1', 1: '2', 2: '3})) 

df.columns=["1"] 
df["1"].value_counts().dict() 

Was ist falsch an meinem Code?

Antwort

1

Ihre df wird original bleiben, müssen Sie zuweisen, nachdem Sie mit neuen Spalte verbinden, dann erhalten Sie die df mit Spalte Year. Versuchen Sie folgendes:

import pandas as pd 
df = pd.read_fwf("file.txt") 
df = df.join(df['Date'].str.split(' ', 2, expand = True).rename(columns={1: 'Year', 0: 'Month'})) 
df["Year"].value_counts().to_dict() 

Ausgang:

{'2009': 1, '2010': 1, '2011': 1} 
+0

Vielen Dank! Ich habe meinen Fehler gefunden. stack = df.join ... und dann: stack ["Year"]. value_counts(). to_dict() –