パンダのすべての面で[PYTHONデータ解析]でパンダ著者ウェス・マッキニーは、エントリーレベルの権限の簡潔な紹介を持っていますが、実際の使用では、私は本の内容は氷山の一角である見つけました。パンダに更新データ行を参照すると、テーブルの合併操作は、一般的に参加、連結を使用する方法、マージがあります。しかし、多くの初心者、使用しないを区別するために使用することは非常に良い機会のための三つの方法。今日はパンダの公式ウェブサイトを、データの統合と修正再表示の方法を使用して上の要約の章であることを。
- テキストブロックは、主に公式サイトのチュートリアルをパンダ。
1つの連結
concat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False)
- 1
- 2
パラメータ説明
OBJS:シリーズ、データフレームlsitパネル又はからなる配列
軸:リンクの軸がマージされる、行0、列1は
参加:内部接続方式、または外
説明を補足したときに他のパラメータは、一般的に、使用されていません。
同じ分野の表1.1は、エンド連絡先に終わります
# 现将表构成list,然后在作为concat的输入
In [4]: frames = [df1, df2, df3]
In [5]: result = pd.concat(frames)
- 1
- 2
- 3
- 4
テーブルからのデータとその接触した時点でキー階層に識別するために追加するには、重要なパラメータを増加させることができます
In [6]: result = pd.concat(frames, keys=['x', 'y', 'z'])
- 1
結果は以下のとおりであります
1.2スプライシング(ラインアライメント)横テーブル
1.2.1軸
時間軸= 1は、連結行が整列されるとき、テーブル名の二つの異なる列がマージされます
In [9]: result = pd.concat([df1, df4], axis=1)
- 1
1.2.2参加
アウター場合、二つのテーブルが得られ、セットされている2つのテーブルの交差によって得られた「内側」場合、特性パラメータと合流。
In [10]: result = pd.concat([df1, df4], axis=1, join='inner')
- 1
1.2.3 join_axes
着信join_axesがある場合のパラメータは、そのデータの軸を整列させるために応じて指定することができる
テーブルDF1アライメントデータによれば、例えば、それはスプライスDF4とシャフトDF1テーブルを指定し、表残ります
In [11]: result = pd.concat([df1, df4], axis=1, join_axes=[df1.index])
- 1
1.3アペンド
append是series和dataframe的方法,使用它就是默认沿着列进行凭借(axis = 0,列对齐)
In [12]: result = df1.append(df2)
- 1
1.4連結のインデックスを無視
2つの索引テーブルは、次に実用的な意味、真の使用ignore_indexパラメータセット、結合睡眠列フィールドのアラインメントに基づいて、2つのテーブル、および結合されない場合。最後に、新しいインデックスを再配置します。
1.5鍵区別結合データセットを増加させながら
キー上述のパラメータは、データテーブルの異なるソースを区別するために組み合わせるキーテーブルを増加させるために使用することができます
1.5.1は、重要なパラメータと直接達成することができます
In [27]: result = pd.concat(frames, keys=['x', 'y', 'z'])
- 1
グループ化キーを高めるために1.5.2着信辞書
In [28]: pieces = {'x': df1, 'y': df2, 'z': df3} In [29]: result = pd.concat(pieces)
- 1
- 2
- 3
1.6は、データフレーム内の新しい行を追加しました
新しい行がデータフレーム内に挿入されるようにappendメソッドは、十分なデータ系列と辞書であってもよいです。
In [34]: s2 = pd.Series(['X0', 'X1', 'X2', 'X3'], index=['A', 'B', 'C', 'D']) In [35]: result = df1.append(s2, ignore_index=True)
- 1
- 2
- 3
表の列は、異なるフィールドは、テーブルをマージ
如果遇到两张表的列字段本来就不一样,但又想将两个表合并,其中无效的值用nan来表示。那么可以使用ignore_index来实现。
In [36]: dicts = [{'A': 1, 'B': 2, 'C': 3, 'X': 4}, ....: {'A': 5, 'B': 6, 'C': 7, 'Y': 8}] ....: In [37]: result = df1.append(dicts, ignore_index=True)
- 1
- 2
- 3
- 4
- 5