2013-10-15 12 views
9

Ich halte anderes Attribut Fehler bekommen, wenn diese Datei in ipython zu laufen versuchen ... Anfänger mit Pandas so vielleicht bin ich etwas fehltAttribute: ‚Dataframe‘ Objekt hat kein Attribut

Code:

from pandas import Series, DataFrame 

import pandas as pd 

import json 

nan=float('NaN') 
data = [] 
with open('file.json') as f: 
for line in f: 
    data.append(json.loads(line)) 

df = DataFrame(data, columns=['accepted', 'user', 'object', 'response']) 
clean = df.replace('NULL', nan) 
clean = clean.dropna() 

print clean.value_counts() 

AttributeError: 'DataFrame' object has no attribute 'value_counts' 

Irgendwelche Ideen?

Antwort

8

value_counts ist ein Serie Verfahren eher als ein Dataframe Methode (und Sie versuchen, es auf einem Datenrahmen zu verwenden, clean). Sie müssen diese auf einer bestimmten Spalte auszuführen:

clean[column_name].value_counts() 

Es ist nicht in der Regel Sinn value_counts auf einem Datenrahmen auszuführen machen, obwohl ich nehme an, Sie es zu jedem Eintrag durch Abflachen des zugrunde liegenden Werte Array anwenden könnte:

pd.value_counts(df.values.flatten()) 
3

Um alle Zählungen für alle Spalten in einem Datenrahmen zu bekommen, es ist nur df.count()