パンダ化連結すばやく2枚のExcelスプレッドシートをマージ

パンダのすべての面で[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

おすすめ

転載: www.cnblogs.com/yc3110/p/12531715.html