88 votes

Comment ajouter un seul élément à une série Pandas ?

Comment ajouter un seul élément à une série sérialisée de pandas. Je sais que ce n'est pas le moyen le plus efficace en termes de mémoire, mais j'ai quand même besoin de le faire.

Quelque chose comme ça :

>> x = Series()
>> N = 4
>> for i in xrange(N):
>>     x.some_appending_function(i**2)    
>> print x

0 | 0
1 | 1
2 | 4
3 | 9

Par ailleurs, comment puis-je ajouter une seule ligne à un DataFrame de Pandas ?

6voto

derchambers Points 372

En complément de la réponse de joquin, la forme suivante pourrait être un peu plus propre (du moins plus agréable à lire) :

x = p.Series()
N = 4
for i in xrange(N):
   x[i] = i**2

qui produirait le même résultat

également, un peu moins orthodoxe mais si vous vouliez simplement ajouter un seul élément à la fin :

x=p.Series()
value_to_append=5
x[len(x)]=value_to_append

2voto

faizanur Rahman Points 41
import pandas as pd
import numpy as np

ser1 = pd.Series(np.linspace(1, 10, 2))
element = np.nan
ser1 = ser1.append(pd.Series(element))

0voto

Gabriel_F Points 28

Voici une autre idée pour ajouter plusieurs éléments sur une ligne sans changer le nom de la série. Cependant, cette solution n'est peut-être pas aussi efficace que l'autre.

>>> df = pd.Series(np.random.random(5), name='random')
>>> df

0    0.363885
1    0.402623
2    0.450449
3    0.172917
4    0.983481
Name: random, dtype: float64

>>> df.to_frame().T.assign(a=3, b=2, c=5).squeeze()

0    0.363885
1    0.402623
2    0.450449
3    0.172917
4    0.983481
a    3.000000
b    2.000000
c    5.000000
Name: random, dtype: float64

Prograide.com

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.

Powered by:

X