pandas
Panda's leuk laten spelen met inheemse Python-gegevenstypen
Zoeken…
Gegevens verplaatsen van Panda's naar native Python en Numpy-gegevensstructuren
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
Een pythonlijst uit een serie krijgen:
In [3]: df['A'].tolist()
Out[3]: [1, 2, 3]
DataFrames hebben geen tolist tolist()
-methode. Uitproberen resulteert in een 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'
Een numpy array uit een serie krijgen:
In [5]: df['B'].values
Out[5]: array([ 1., 2., 3.])
U kunt ook een reeks kolommen krijgen als individuele, numpy arrays uit een heel dataframe:
In [6]: df.values
Out[6]:
array([[1, 1.0, 'a', True],
[2, 2.0, 'b', False],
[3, 3.0, 'c', True]], dtype=object)
Een woordenboek uit een serie ophalen (gebruikt de index als toetsen):
In [7]: df['C'].to_dict()
Out[7]: {0: 'a', 1: 'b', 2: 'c'}
U kunt ook het hele DataFrame als woordenboek terugkrijgen:
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}}
De methode to_dict
heeft een paar verschillende parameters om aan te passen hoe de woordenboeken worden opgemaakt. Om een lijst met dictaten voor elke rij te krijgen:
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}]
Raadpleeg de documentatie voor de volledige lijst met beschikbare opties om woordenboeken te maken.
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow