J'ai essayé:
x=pandas.DataFrame(...)
s = x.take([0], axis=1)
Et s
obtient un DataFrame, pas une Series.
J'ai essayé:
x=pandas.DataFrame(...)
s = x.take([0], axis=1)
Et s
obtient un DataFrame, pas une Series.
>>> import pandas as pd
>>> df = pd.DataFrame({'x' : [1, 2, 3, 4], 'y' : [4, 5, 6, 7]})
>>> df
x y
0 1 4
1 2 5
2 3 6
3 4 7
>>> s = df.loc[:, 'x']
>>> type(s)
>>>
\===========================================================================
MISE À JOUR
Si vous lisez ceci après juin 2017, ix
a été abandonné dans pandas 0.20.2, donc ne l'utilisez pas. Utilisez plutôt loc
ou iloc
. Voir les commentaires et autres réponses à cette question.
N'est-ce pas la façon la plus simple?
Par nom de colonne :
Dans [20]: df = pd.DataFrame({'x' : [1, 2, 3, 4], 'y' : [4, 5, 6, 7]})
Dans [21]: df
Dehors [21]:
x y
0 1 4
1 2 5
2 3 6
3 4 7
Dans [23]: df.x
Dehors [23]:
0 1
1 2
2 3
3 4
Nom : x, dtype : int64
Dans [24]: type(df.x)
Dehors [24]:
pandas.core.series.Series
Cela fonctionne très bien lorsque vous voulez charger une série à partir d'un fichier csv
x = pd.read_csv('x.csv', index_col=False, names=['x'],header=None).iloc[:,0]
print(type(x))
print(x.head(10))
0 110.96
1 119.40
2 135.89
3 152.32
4 192.91
5 177.20
6 181.16
7 177.30
8 200.13
9 235.41
Name: x, dtype: float64
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.