pandas(三)

合併數據集:數組

  建立一個能建立dataframe的函數app

  def make_data(cols,ind):函數

    data={c:[strc(c)+str(i) for i in ind] 索引

      for c in cols}pandas

    return pd.DataFrame(data,ind)it

   make_data('ABC',range(3))基礎

 

一維數組數據

ser1 = pd.Series(['a','b','c'],index=[1,2,3])異常

ser2 = pd.Series(['d','e','f'],index=[4,5,6])二維數組

pd.concat([ser1,ser2])  

 

二維數組

df1 = make_data('ab',[1,2])

df2 = make_data('ab',[3,4])

pd.concat([df1,df2])  默認逐行合併axis=0(上下合併)

 

pandas 在合併索引時會保留索引,即便是重複的

 

觸發索引重複異常:

veriy_integrity參數能夠觸發索引重複異常

try:

  pd.concat([x,y],verify_integrity=True)

except  ValueError as e:

  print('v')

 

忽略索引重複異常:

ignore_index能夠實現忽略原先索引從新建立一個整數索引

   

當列名有相同也有不相同時

join,join_axes

join默認參數是outer 取兩個數組的並集

inner指取兩個數組的交集

 

append效果和concat相同

df1.append(df2)

 

重複列名 suffixes

df8 = pd.DataFrame({'name':['a','b','c'],'rank':[1,2,3]})

df9 = pd.DataFrame({'name':['a','b','c'],'rank':[4,5,6]})

pd.merge(df8,df9,on='name',suffixes=['_L','_R'])

merge效果和concat相同,on表示以name這一列爲基礎合併,suffixes表示將相同的兩列區分

相關文章
相關標籤/搜索