pandas
Tillägg till DataFrame
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