Ich bin Daten aus einer Keyed-Tabelle in Kdb + zu einem Pandas DataFrame mit qPython-Bibliothek zu importieren. Wenn ich eine synchrone AbfrageZugriff auf alle Spalten in Pandas DataFrame, wo Daten aus kdb + mit qPython importiert werden
x=q.sync('select from prod where ID=9 ')
Dann ist vom Typ qpython.qcollection.QKeyedTable
x laufen. Aber wenn ich numpy_temporals=true
mache, ist der Rückgabetyp Pandas DataFrame.
from qpython import qconnection
with qconnection.QConnection(host = 'localhost', port = 5000) as q:
query = 'select from table where ID=5'
x=q.sync(query, numpy_temporals = True)
print x.iloc[0:3,0:3]
print x.columns.values
x.iloc [0: 1,0: 1] liefert
EMP_ID PROD_ID month total x
01 02 jan-17 5.5 6
x.columns.values kehrt
['month' 'total' 'x']
die Daten von einem getasteten Tabelle ist, die Datenrahmen kann nicht auf die Primärschlüsselfelder zugreifen. Die Tabelle hat 5 Felder, aber der zurückgegebene Datenrahmen zeigt nur 3. Ich kann nicht auf die ersten beiden Spalten zugreifen.
Ich habe die folgenden Stackoverflow-Fragen Not able to view all columns in Pandas Data frame, Python pandas, how to widen output display to see more columns? betrachtet, aber sie lösen das Problem nicht.
Auch ich möchte die Daten aus dem DataFrame in eine Klasse Employee
lesen, um einen Merkmalsvektor für jeden Mitarbeiter zu erstellen. Ich möchte nicht, dass die Daten in einem Dataframe gespeichert werden, da bestimmte Funktionen mehrwertig sind wie organization
(der Mitarbeiter könnte Teilzeit in mehreren Organisationen arbeiten).
Mache ich es richtig oder gibt es einen besseren Weg, um dieses Problem zu lösen.
Vielen Dank. Dies hat das Problem gelöst –