Recherche…


Ajout d'une nouvelle ligne à DataFrame

In [1]: import pandas as pd

In [2]: df = pd.DataFrame(columns = ['A', 'B', 'C'])

In [3]: df
Out[3]: 
Empty DataFrame
Columns: [A, B, C]
Index: []

Ajout d'une ligne par une valeur de colonne unique:

In [4]: df.loc[0, 'A'] = 1

In [5]: df
Out[5]: 
   A    B    C
0  1  NaN  NaN

Ajout d'une ligne, liste de valeurs donnée:

In [6]: df.loc[1] = [2, 3, 4]

In [7]: df
Out[7]: 
   A    B    C
0  1  NaN  NaN
1  2    3    4

Ajouter une ligne à un dictionnaire:

In [8]: df.loc[2] = {'A': 3, 'C': 9, 'B': 9}

In [9]: df
Out[9]: 
   A    B    C
0  1  NaN  NaN
1  2    3    4
2  3    9    9

La première entrée de .loc [] est l'index. Si vous utilisez un index existant, vous écraserez les valeurs de cette ligne:

In [17]: df.loc[1] = [5, 6, 7]

In [18]: df
Out[18]: 
   A    B    C
0  1  NaN  NaN
1  5    6    7
2  3    9    9


In [19]: df.loc[0, 'B'] = 8

In [20]: df
Out[20]: 
   A  B    C
0  1  8  NaN
1  5  6    7
2  3  9    9

Ajouter un DataFrame à un autre DataFrame

Supposons que nous ayons les deux DataFrames suivants:

In [7]: df1
Out[7]: 
    A   B
0  a1  b1
1  a2  b2

In [8]: df2
Out[8]: 
    B   C
0  b1  c1

Les deux DataFrames ne doivent pas nécessairement avoir le même ensemble de colonnes. La méthode append ne modifie aucun des DataFrames d'origine. Au lieu de cela, il renvoie un nouveau DataFrame en ajoutant les deux originaux. Ajouter un DataFrame à un autre est assez simple:

In [9]: df1.append(df2)
Out[9]: 
     A   B    C
0   a1  b1  NaN
1   a2  b2  NaN
0  NaN  b1   c1

Comme vous pouvez le voir, il est possible d'avoir des index en double (0 dans cet exemple). Pour éviter ce problème, vous pouvez demander à Pandas de réindexer le nouveau DataFrame pour vous:

In [10]: df1.append(df2, ignore_index = True)
Out[10]: 
     A   B    C
0   a1  b1  NaN
1   a2  b2  NaN
2  NaN  b1   c1


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow