python中數據合併

1. join:默認情況下他是把行索引相同的數據合併到一起
import pandas as pd
import numpy as np

df1 = pd.DataFrame(np.ones((2, 4)), index=["A", "B"], columns=list("abcd"))
df2 = pd.DataFrame(np.zeros((3, 3)), index=["A", "B", "C"], columns=list("xyz"))
print(df1)
print("*" * 20)
print(df2)
print("*" * 20)
print(df1.join(df2))
print("*" * 20)
print(df2.join(df1))

在這裏插入圖片描述

2. merge:按照指定的列把數據按照一定的方式合併到一起
2.1內連接
import pandas as pd
import numpy as np

df1 = pd.DataFrame(np.ones((2, 4)), index=["A", "B"], columns=list("abcd"))
df3 = pd.DataFrame(np.arange(9).reshape(3, 3), columns=list("fax"))
print(df1)
print("*" * 20)
print(df3)
print("*" * 20)
print(df1.merge(df3, on="a"))

在這裏插入圖片描述

修改相應的值

在這裏插入圖片描述
在這裏插入圖片描述

2.2 外連接
import pandas as pd
import numpy as np

df1 = pd.DataFrame(np.ones((2, 4)), index=["A", "B"], columns=list("abcd"))
df3 = pd.DataFrame(np.arange(9).reshape(3, 3), columns=list("fax"))
df1.loc["A", "a"] = 99
print(df1)
print("*" * 20)
print(df3)
print("*" * 20)
print(df1.merge(df3, on="a", how="outer"))

在這裏插入圖片描述

2.3 左連接
print(df1.merge(df3, on="a", how="left"))

在這裏插入圖片描述

2.2 右連接
print(df1.merge(df3, on="a", how="right"))

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章