Buscar..


Anexando una nueva fila a 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: []

Anexando una fila por un solo valor de columna:

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

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

Anexando una fila, dada la lista de valores:

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

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

Anexando una fila dado un diccionario:

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 primera entrada en .loc [] es el índice. Si usa un índice existente, sobrescribirá los valores en esa fila:

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

Añadir un DataFrame a otro DataFrame

Supongamos que tenemos los siguientes dos DataFrames:

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

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

No se requiere que los dos DataFrames tengan el mismo conjunto de columnas. El método de adición no cambia ninguno de los DataFrames originales. En su lugar, devuelve un nuevo DataFrame agregando los dos originales. Anexar un DataFrame a otro es bastante simple:

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

Como puede ver, es posible tener índices duplicados (0 en este ejemplo). Para evitar este problema, puede pedir a Pandas que vuelva a indexar el nuevo DataFrame:

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow