pandas之資料合併

2022-07-17 19:51:09 字數 4225 閱讀 5542

import

numpy as np

import

pandas as pd

df1 = pd.dataframe(np.ones((3, 4)) * 0, columns=['

a', '

b', '

c', 'd'

])df2 = pd.dataframe(np.ones((3, 4)) * 1, columns=['

a', '

b', '

c', 'd'

])df3 = pd.dataframe(np.ones((3, 4)) * 2, columns=['

a', '

b', '

c', 'd'

])#print(df1)

#print(df2)

#print(df3)

#縱向合併

res = pd.concat([df1, df2, df3], axis=0)

print

(res)

#重置index索引

res = pd.concat([df1, df2, df3], axis=0, ignore_index=true)

print

(res)

#縱向外合併

df3 = pd.dataframe(np.ones((3, 4)) * 1, columns=['

a', '

b', '

c', '

d'], index=[1, 2, 3])

df4 = pd.dataframe(np.ones((3, 4)) * 2, columns=['

b', '

c', '

d', '

e'], index=[2, 3, 4])

res = pd.concat([df3, df4], axis=1, join='

outer

', ignore_index=true)

print

(res)

#縱向內合併

df3 = pd.dataframe(np.ones((3, 4)) * 1, columns=['

a', '

b', '

c', '

d'], index=[1, 2, 3])

df4 = pd.dataframe(np.ones((3, 4)) * 2, columns=['

b', '

c', '

d', '

e'], index=[2, 3, 4])

res = pd.concat([df3, df4], axis=0, join='

inner

', ignore_index=true)

print

(res)

#按照某個指定的軸來對齊資料

df3 = pd.dataframe(np.ones((3, 4)) * 1, columns=['

a', '

b', '

c', '

d'], index=[1, 2, 3])

df4 = pd.dataframe(np.ones((3, 4)) * 2, columns=['

b', '

c', '

d', '

e'], index=[2, 3, 4])

res = pd.concat([df1, df2], axis=1, join_axes=[df1.index])

print

(res)

#df3 = pd.dataframe(np.ones((3, 4)) * 1, columns=['

a', '

b', '

c', '

d'], index=[1, 2, 3])

df4 = pd.dataframe(np.ones((3, 4)) * 2, columns=['

b', '

c', '

d', '

e'], index=[2, 3, 4])

print

(res)

輸出結果:

a b c d

0 0.0 0.0 0.0 0.0

1 0.0 0.0 0.0 0.0

2 0.0 0.0 0.0 0.00 1.0 1.0 1.0 1.0

1 1.0 1.0 1.0 1.0

2 1.0 1.0 1.0 1.00 2.0 2.0 2.0 2.0

1 2.0 2.0 2.0 2.0

2 2.0 2.0 2.0 2.0a b c d

0 0.0 0.0 0.0 0.0

1 0.0 0.0 0.0 0.0

2 0.0 0.0 0.0 0.0

3 1.0 1.0 1.0 1.0

4 1.0 1.0 1.0 1.0

5 1.0 1.0 1.0 1.0

6 2.0 2.0 2.0 2.0

7 2.0 2.0 2.0 2.0

8 2.0 2.0 2.0 2.00 1 2 3 4 5 6 7

1 1.0 1.0 1.0 1.0nan nan nan nan

2 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0

3 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0

4 nan nan nan nan 2.0 2.0 2.0 2.0b c d

0 1.0 1.0 1.0

1 1.0 1.0 1.0

2 1.0 1.0 1.0

3 2.0 2.0 2.0

4 2.0 2.0 2.0

5 2.0 2.0 2.0a b c d a b c d

0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0

1 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0

2 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0a b c d

0 0.0 0.0 0.0 0.0

1 0.0 0.0 0.0 0.0

2 0.0 0.0 0.0 0.0

3 1.0 1.0 1.0 1.0

4 1.0 1.0 1.0 1.0

5 1.0 1.0 1.0 1.0

import

numpy as np

import

pandas as pd

a = pd.series([np.nan, 2.5, np.nan, 3.5, 4.5, np.nan], index=['

f', '

e', '

d', '

c', '

b', 'a'

])print

(a)b = pd.series([1, np.nan, 3, 4, 5, np.nan], index=['

f', '

e', '

d', '

c', '

b', 'a'

])print

(b)#

用a的資料填充b的缺失值

print

(b.combine_first(a))

#用b的資料填充a的缺失值

print

(a.combine_first(b))

輸出結果:

f nan

e 2.5d nan

c 3.5b 4.5a nan

dtype: float64

f 1.0e nan

d 3.0c 4.0b 5.0a nan

dtype: float64

f 1.0e 2.5d 3.0c 4.0b 5.0a nan

dtype: float64

f 1.0e 2.5d 3.0c 3.5b 4.5a nan

dtype: float64

Pandas合併之Concat合併

pd.concat objs,axis 0,join outer join axes none,ignore index false,keys none,levels none,names none,verify integrity false objs series或者dataframe物件構成的...

pandas資料合併

pandas 提供了三種主要方法可以對資料進行合併 pandas.merge 方法 資料庫風格的合併 例如,通過merge 方法將兩個dataframe合併 on name 的意思是將name列當作鍵 預設情況下,merge做的是內連線 inner 即鍵的交集。其他方式還有左連線 left 右連線 ...

Pandas資料處理之合併資料集

將不同的資料來源進行合併是資料處理中最常見的操作,包括將兩個不同資料集簡單地拼接,也包括處理有重疊欄位的資料集。series與dataframe都具備這類操作,pandas的函式與方法讓資料合併變得更加快速.in 1 import numpy as np import pandas as pd為了簡...