pandas
DataFrameへの追加
サーチ…
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: []
単一の列値で行を追加する:
In [4]: df.loc[0, 'A'] = 1
In [5]: df
Out[5]:
A B C
0 1 NaN NaN
指定された値のリストを行に追加します。
In [6]: df.loc[1] = [2, 3, 4]
In [7]: df
Out[7]:
A B C
0 1 NaN NaN
1 2 3 4
辞書が与えられた行を追加する:
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
.loc []の最初の入力はインデックスです。既存のインデックスを使用する場合は、その行の値を上書きします。
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
他のDataFrameにDataFrameを追加する
次の2つのDataFramesがあるとします。
In [7]: df1
Out[7]:
A B
0 a1 b1
1 a2 b2
In [8]: df2
Out[8]:
B C
0 b1 c1
2つのDataFramesは同じ列セットを持つ必要はありません。 appendメソッドは元のDataFramesのどちらも変更しません。代わりに、元の2つを追加して新しいDataFrameを返します。 DataFrameを別のものに追加するのは簡単です:
In [9]: df1.append(df2)
Out[9]:
A B C
0 a1 b1 NaN
1 a2 b2 NaN
0 NaN b1 c1
ご覧のように、重複インデックス(この例では0)を持つことは可能です。この問題を回避するには、新しいDataFrameを再作成するようにPandasに依頼することができます。
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
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow