2013-12-07 4 views
7

Я хочу, чтобы добавить целое число в мой pandas.Series
Вот мой код:Добавить товар в pandas.Series?

import pandas as pd 
input = pd.Series([1,2,3,4,5]) 
input.append(6) 

Когда я запускаю это, я получаю следующее сообщение об ошибке:

Traceback (most recent call last): 
    File "<pyshell#9>", line 1, in <module> 
    f.append(6) 
    File "C:\Python33\lib\site-packages\pandas\core\series.py", line 2047, in append 
    verify_integrity=verify_integrity) 
    File "C:\Python33\lib\site-packages\pandas\tools\merge.py", line 878, in concat 
    verify_integrity=verify_integrity) 
    File "C:\Python33\lib\site-packages\pandas\tools\merge.py", line 954, in __init__ 
    self.new_axes = self._get_new_axes() 
    File "C:\Python33\lib\site-packages\pandas\tools\merge.py", line 1146, in _get_new_axes 
    concat_axis = self._get_concat_axis() 
    File "C:\Python33\lib\site-packages\pandas\tools\merge.py", line 1163, in _get_concat_axis 
    indexes = [x.index for x in self.objs] 
    File "C:\Python33\lib\site-packages\pandas\tools\merge.py", line 1163, in <listcomp> 
    indexes = [x.index for x in self.objs] 
AttributeError: 'int' object has no attribute 'index' 

Как я могу исправить это?

+0

Возможный дубликат [Как добавить отдельный элемент к серии Pandas] (http://stackoverflow.com/questions/13331518/how-to-add-a-single-item-to-a-pandas -серии) –

+0

Ни один из этих вопросов не принадлежит мне. Кроме того, ваш вопрос был задан 12 месяцев назад, но тот, с которым я связался, был задан более двух лет назад. –

ответ

18

Преобразовать добавляется элемент в Series:

>>> ds = pd.Series([1,2,3,4,5]) 
>>> ds.append(pd.Series([6])) 
0 1 
1 2 
2 3 
3 4 
4 5 
0 6 
dtype: int64 

или использовать DataFrame:

>>> df = pd.DataFrame(ds) 
>>> df.append([6], ignore_index=True) 
    0 
0 1 
1 2 
2 3 
3 4 
4 5 
5 6 

и последний вариант, если ваш индекс без зазоров,

>>> ds.set_value(max(ds.index) + 1, 6) 
0 1 
1 2 
2 3 
3 4 
4 5 
5 6 
dtype: int64 

И вы можете использовать NumPy в крайнем случае:

>>> import numpy as np 
>>> pd.Series(np.concatenate((ds.values, [6]))) 
Смежные вопросы