Lo intenté:
x=pandas.DataFrame(...)
s = x.take([0], axis=1)
Y sobtiene un DataFrame, no una Serie.
>>> 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.ix[:,0]
>>> type(s)
<class 'pandas.core.series.Series'>
>>>
================================================== =========================
ACTUALIZAR
Si está leyendo esto después de junio de 2017, ixha quedado en desuso en pandas 0.20.2, así que no lo use. Uso loco en su iloclugar. Ver comentarios y otras respuestas a esta pregunta.
df.set_index('x').y.iloctodavía no estaba allí en ese entonces. En 2016, la respuesta correcta es la de Jeff (después de todo, espandasDios, ten en cuenta ;-)). No estoy seguro de cuál es la política de SO con respecto a la actualización de respuestas debido al cambio de API; Estoy sinceramente sorprendido por la cantidad de votos para esta respuesta, no pensé que fuera tan útil para las personas ...ixquedó en desuso en la versión 0.20.ixNo debe utilizarse más, utiliceilocen su lugar:s = df.ix[:,0]. Vea esta publicación para una comparación deilocyix.Desde v0.11 +, ... uso
df.iloc.fuente
Puede obtener la primera columna como Serie siguiendo el siguiente código:
fuente
x[x.columns[x.columns.size-1]]¿No es esta la forma más simple?
Por nombre de columna:
fuente
df.x) no es genérico: ¿qué sucede si el nombre de la columna contiene espacios? ¿Qué sucede si el nombre de la columna coincide con elDataFramenombre del atributo -s? Es más general acceder a las columnas usando__getitem__(es decir, así:)df["x"].Esto funciona muy bien cuando desea cargar una serie desde un archivo csv
fuente
donde
ies la posición / número de la columna (a partir de 0 ).Entonces,
i = 0es para la primera columna.También puede obtener la última columna usando
i = -1fuente