python中pandas的幾種合併

2021-10-05 09:16:19 字數 1671 閱讀 7864

import pandas as pd

import numpy as np

1:上下合併

df1 = pd.dataframe(np.ones((2,4))*0,columns=[『a』,『b』,『c』,『d』])

df2 = pd.dataframe(np.ones((2,4))*1,columns=[『a』,『b』,『c』,『d』])#兩行四列,每一列分別為abcd

a b c d

0 0.0 0.0 0.0 0.0

1 0.0 0.0 0.0 0.0

a b c d

0 1.0 1.0 1.0 1.0

1 1.0 1.0 1.0 1.0

res = pd.concat([df1,df2],axis=0,ignore_index=true) #上下合併,ignore為true則排列為0123,否則為0101,axis=0為行排列。concat為合併函式

a b c d

0 0.0 0.0 0.0 0.0

1 0.0 0.0 0.0 0.0

0 1.0 1.0 1.0 1.0

1 1.0 1.0 1.0 1.0

2:df1 = pd.dataframe(np.ones((3,4))*0,columns=[『a』,『b』,『c』,『d』],index=[1,2,3])

df2 = pd.dataframe(np.ones((3,4))*1,columns=[『b』,『c』,『d』,『e』],index=[2,3,4]) #index為最左一列索引值

a b c d

1 0.0 0.0 0.0 0.0

2 0.0 0.0 0.0 0.0

3 0.0 0.0 0.0 0.0

b c d e

2 1.0 1.0 1.0 1.0

3 1.0 1.0 1.0 1.0

4 1.0 1.0 1.0 1.0

res1 = pd.concat([df1,df2],join=『outer』) #為inner時,沒有的值不再顯示,為outer用nan補齊

a b c d e

1 0.0 0.0 0.0 0.0 nan

2 0.0 0.0 0.0 0.0 nan

3 0.0 0.0 0.0 0.0 nan

2 nan 1.0 1.0 1.0 1.0

3 nan 1.0 1.0 1.0 1.0

4 nan 1.0 1.0 1.0 1.0

res = pd.concat([df1,df2],join=『inner』,ignore_index=true)#ignore_index=true時,索引按順序,否則不按

b c d

0 0.0 0.0 0.0

1 0.0 0.0 0.0

2 0.0 0.0 0.0

3 1.0 1.0 1.0

4 1.0 1.0 1.0

5 1.0 1.0 1.0

3:橫向合併

df1 = pd.dataframe(np.ones((1,2))*0,columns=[『a』,『b』])

df2 = pd.dataframe(np.ones((1,2))*1,columns=[『a』,『b』])

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

a b a b

0 0.0 0.0 1.0 1.0

Python中的Pandas模組

目錄 pandas series 序列的建立 序列的讀取 dataframe dataframe的建立 dataframe資料的讀取 panel panel的建立 pandas python data analysis library 是基於numpy 的一種工具,該工具是為了解決資料分析任務而建立...

Python中pandas的qcut函式的用法

在 利用python進行資料分析 這本書的第七章介紹了pandas的qcut函式的用法。原書介紹qcut函式是乙個與分箱密切相關的函式,它基於樣本分位數進行分箱,可以通過qcut獲得等長的箱 data np.random.randn 1000 data服從正態分佈 cats pd.qcut data...

python中pandas常用方法

coding utf 8 import numpy as np import pandas as pd datas pd.date range 20140729 periods 6 先建立乙個時間索引,所謂的索引 index 就是每一行資料的id,可以標識每一行的唯一值 print datas da...