Suche…


Übertragen von Daten aus Pandas in native Python- und Numpy-Datenstrukturen

In [1]: df = pd.DataFrame({'A': [1, 2, 3], 'B': [1.0, 2.0, 3.0], 'C': ['a', 'b', 'c'], 
                       'D': [True, False, True]})

In [2]: df
Out[2]: 
   A    B  C      D
0  1  1.0  a   True
1  2  2.0  b  False
2  3  3.0  c   True

Eine Python-Liste aus einer Serie abrufen:

In [3]: df['A'].tolist()
Out[3]: [1, 2, 3]

DataFrames haben keine tolist() -Methode. Der Versuch führt zu einem AttributeError:

In [4]: df.tolist()
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-4-fc6763af1ff7> in <module>()
----> 1 df.tolist()

//anaconda/lib/python2.7/site-packages/pandas/core/generic.pyc in __getattr__(self, name)
   2742             if name in self._info_axis:
   2743                 return self[name]
-> 2744             return object.__getattribute__(self, name)
   2745 
   2746     def __setattr__(self, name, value):

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

Ein numpy-Array aus einer Serie erhalten:

In [5]: df['B'].values
Out[5]: array([ 1.,  2.,  3.])

Sie können auch ein Array der Spalten als einzelne numpy-Arrays von einem gesamten Datenrahmen abrufen:

In [6]: df.values
Out[6]: 
array([[1, 1.0, 'a', True],
       [2, 2.0, 'b', False],
       [3, 3.0, 'c', True]], dtype=object)

Ein Wörterbuch aus einer Serie abrufen (verwendet den Index als Schlüssel):

In [7]: df['C'].to_dict()
Out[7]: {0: 'a', 1: 'b', 2: 'c'}

Sie können den gesamten DataFrame auch als Wörterbuch zurückerhalten:

In [8]: df.to_dict()
Out[8]: 
{'A': {0: 1, 1: 2, 2: 3},
 'B': {0: 1.0, 1: 2.0, 2: 3.0},
 'C': {0: 'a', 1: 'b', 2: 'c'},
 'D': {0: True, 1: False, 2: True}}

Die to_dict Methode verfügt über einige verschiedene Parameter, um die Formatierung der Wörterbücher anzupassen. So erhalten Sie eine Liste von Diktaten für jede Zeile:

In [9]: df.to_dict('records')
Out[9]: 
[{'A': 1, 'B': 1.0, 'C': 'a', 'D': True},
 {'A': 2, 'B': 2.0, 'C': 'b', 'D': False},
 {'A': 3, 'B': 3.0, 'C': 'c', 'D': True}]

In der Dokumentation finden Sie eine vollständige Liste der verfügbaren Optionen zum Erstellen von Wörterbüchern.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow