2017-09-20 3 views
-1

Ich habe eine einfache Verbindung von einer Amazon Redshift-Datenbank zu meine lokale Datenbank mit PostgreSQL getestet. Ich schrieb eine Abfrage, um eine Tabelle von der Datenbank zu erhalten, und wandelte diese in einen Pandas-Datenrahmen um. Jetzt, , wenn ich einige Funktionen auf die Datenrahmenobjekte anwenden möchte, bekomme ich den folgenden Fehler. Ich habe es mehrmals versucht, es zu ändern, und nachgeschlagen viele Lösungen, aber kann nicht scheinen, damit umzugehen.numpy.darray 'Objekt ist nicht aufrufbar - Pandas verwenden

cur.execute("QUERY for PostgreSQL") 
rows = cur.fetchall() 
print("Received as rows") 
col_names = [] 
for i in cur.description: 
    col_names.append(i[0]) 
df = pd.DataFrame.from_records(rows, columns = col_names) 
df.values() 

--------------------------------------------------------------------------- 
TypeError         Traceback (most recent call last) 
<ipython-input-16-8e9714b76ea1> in <module>() 
----> df.values() 

TypeError: 'numpy.ndarray' object is not callable 
+1

entfernen '()', brauchen nur 'df.values' – jezrael

+0

@jezrael Danke für die schnelle Antwort! Wie kann ich andere Funktionen auf meinen Datenrahmenobjekten verwenden? Ich möchte zum Beispiel ein Aggregat der dritten Spalte, aber wenn ich .mean oder .aggregate verwende, wird das nicht getan. Wenn ich .describe() verwende, verwendet es auch die erste Spalte anstelle der dritten Spalte. Wie kann ich das angehen? –

+0

Ich denke, es ist ein bisschen breit, das beste ist, einige Daten Probe und gewünschte Ausgabe zu erstellen. – jezrael

Antwort

0

Wie @jezael wies darauf hin: df.values keine Funktion ist, so dass Sie es nicht nennen müssen. Verwenden Sie einfach df.values anstelle von df.values().

+0

Danke! Wenn ich jedoch eine .describe() in meiner dritten Spalte des Datenrahmens machen möchte, wie kann ich das tun? –

Verwandte Themen