Sök…


Lägga till en ny rad i 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: []

Lägga till en rad med ett kolumnvärde:

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

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

Lägga till en rad, given lista över värden:

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

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

Lägga till en rad med en ordlista:

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

Den första inmatningen i .loc [] är indexet. Om du använder ett befintligt index kommer du att skriva över värdena i den raden:

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

Lägg till en DataFrame i en annan DataFrame

Låt oss anta att vi har följande två DataFrames:

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

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

De två DataFrames behöver inte ha samma uppsättning kolumner. Tilläggsmetoden ändrar inte någon av de ursprungliga DataFrames. Istället returnerar den en ny DataFrame genom att lägga till de ursprungliga två. Att lägga till en DataFrame till en annan är ganska enkelt:

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

Som ni ser är det möjligt att ha duplikatindex (0 i detta exempel). För att undvika detta problem kan du be Pandas omindexa den nya DataFrame åt dig:

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow