Я старался:
x=pandas.DataFrame(...)
s = x.take([0], axis=1)
И s
получает DataFrame, а не серию.
>>> 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'>
>>>
================================================== =========================
ОБНОВИТЬ
Если вы читаете это после июня 2017 года, ix
он устарел в pandas 0.20.2, поэтому не используйте его. Используйте loc
или iloc
вместо. Смотрите комментарии и другие ответы на этот вопрос.
df.set_index('x').y
.iloc
тогда еще не было. В 2016 году правильный ответ - Джефф (в конце концов, онpandas
Бог, заметьте ;-)). Я не уверен, какова политика SO относительно обновления ответов в связи с изменением API; Я искренне удивлен количеством голосов за этот ответ, не думаю, что он был так полезен для людей ...ix
было устаревшим в версии 0.20.ix
не должны использоваться больше, используйтеiloc
вместо этого:s = df.ix[:,0]
. См. Этот пост для сравненияiloc
иix
.Начиная с v0.11 +, ... пользуйтесь
df.iloc
.In [7]: df.iloc[:,0] Out[7]: 0 1 1 2 2 3 3 4 Name: x, dtype: int64
источник
Вы можете получить первый столбец как серию, используя следующий код:
x[x.columns[0]]
источник
x[x.columns[x.columns.size-1]]
Разве это не самый простой способ?
По названию столбца:
In [20]: df = pd.DataFrame({'x' : [1, 2, 3, 4], 'y' : [4, 5, 6, 7]}) In [21]: df Out[21]: x y 0 1 4 1 2 5 2 3 6 3 4 7 In [23]: df.x Out[23]: 0 1 1 2 2 3 3 4 Name: x, dtype: int64 In [24]: type(df.x) Out[24]: pandas.core.series.Series
источник
df.x
), не является универсальным - что, если имя столбца содержит пробелы? Что, если имя столбца совпадает сDataFrame
именем атрибута -s? Более общий доступ к столбцам осуществляется с помощью__getitem__
(например, так:)df["x"]
.Это отлично работает, когда вы хотите загрузить серию из файла csv
x = pd.read_csv('x.csv', index_col=False, names=['x'],header=None).iloc[:,0] print(type(x)) print(x.head(10)) <class 'pandas.core.series.Series'> 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
источник
где
i
- позиция / номер столбца (начиная с 0 ).Итак,
i = 0
для первого столбца.Вы также можете получить последний столбец, используя
i = -1
источник