numpy pandas實用總結 3種資料合併

2021-09-25 13:06:21 字數 2503 閱讀 2727

前言

concat合併

**例項

# 建立倆個dataframe資料集

df = pd.dataframe([[1, 2, 3], [4, 5, 6]])

df2 = pd.dataframe([[10, 20, 30], [40, 50, 60]], columns=[0, 2, 3])

display(df, df2)

# axis指定合併的方向。axis=0(預設),豎直方向上合併。axis=1,水平方向上合併。

pd.concat((df, df2), axis=1)

r# dataframe是根據索引(標籤)進行對齊的。

pd.concat((df, df2), axis=0)

# join outer:並集(預設) inner:交集

pd.concat((df, df2), axis=0, join="inner")

# keys 指定層級索引。該層級索引作為合併之後的dataframe的最外層索引。

pd.concat((df, df2), keys=["dataframe1", "dataframe2"])

# join_axes: 指定連線之後保留哪乙個dataframe的索引。

pd.concat((df, df2), join_axes=[df2.columns])

# ignore_index 忽略之前dataframe中的索引,重新生成從0開始,增量為1的索引。

# 設定ignore_index引數為true,可以避免當合併多個df出現重複索引的情況。

pd.concat((df, df2), ignore_index=true)

merge

**實現

# 建立倆個資料集來 操作

df1 = pd.dataframe([[1, 2, 3], [4, 5, 6]])

df2 = pd.dataframe([[1, 1, 3], [5, 5, 6]])

display(df1, df2)

# 實現類似於資料庫中的join操作。

# 如果沒有指定連線條件,則預設使用所有的同名字段進行等值連線。(也就是資料庫中的自然連線natural join)

# df1.merge(df2)

# 連線的時候,可以通過how來指定連線方式。預設為inner(內連線)。還可以指定left(左外連線),right(右外連線),outer(全外連線)。

# df1.merge(df2, how="outer")

# 可以通過on引數連指定連線的字段。on指定的連線字段必須同時出現在兩個表中。

# display(df1.merge(df2, on=0))

# on指定的連線欄位也可以有多個,此時使用列表型別。

# display(df1.merge(df2, on=[0, 1], how="outer"))

# display(df1.merge(df2))

# left_on / right_on 指定左表(右表)用於連線的列。

# df1.merge(df2, left_on=0, right_on=1)

# left_index / right_index 是否使用索引列進行連線。預設為false。

# df1.merge(df2, left_index=true, right_index=true)

# df1.merge(df2, left_index=true, right_on=0)

# suffiexes用來指定字尾。(如果兩張表**現同名字段,用字尾來區分該欄位**於哪張表。)

# 如果沒有顯式指定,則預設為_x,_y。

# df1.merge(df2, on=0, suffixes=["_left", "_right"])

join

**實現

df1 = pd.dataframe([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

df2 = pd.dataframe([[1, 1, 3], [5, 5, 6], [10, 11, 12]], index=[0, 1, 3])

# display(df1, df2)

# join預設是左外連線。

# df1.join(df2, on=2)

# join方法,如果字段重疊(名字相同),則必須顯式指定字尾,否則,會產生錯誤。

df1.join(df2, lsuffix="_left", rsuffix="_right")

numpy pandas 資料處理操作總結

開啟檔案 a pd.read csv a.txt header none sep t header控制檔案中是否包含列名,sep控制劃分方式,可使用正規表示式 檔案合併 c pd.concat a,b 列相同的兩個檔案縱向連線 檔案排序 a a.sort values col1 col2 先根據列 ...

numpy pandas基礎用法詳解

初學pandas不斷補充整理歸納常用的,配合numpy使用預設 import pandas as pd import numpy as np 習慣簡寫一 建立 1.seriess pd.series 1,3,4,np.nan,1 2.日期dates pd.date range 20180101 pe...

numpy pandas基礎入門(2)

在numpy中的基本運算,常用的有 乘方 dot 矩陣乘法 import numpy as np a np.array 1 2,3 b np.array 4 8,6 c1 a b 減法運算,對應位置元素相減 c2 a b 加法運算,對應位置元素相加 c3 a b 乘法運算,對應位置元素相乘 c4 a...