1. 程式人生 > >pandas之算數運算和資料對齊--帶有重複值的軸索引

pandas之算數運算和資料對齊--帶有重複值的軸索引


s1=Series([7.3,-2.5,3.4,1.5],index=['a','c','d','e'])
s2=Series([-2.1,3.6,-1.5,4,3.1],index=['a','c','e','f','g'])
s1
s2
s1+s
s1+s2
df1=DataFrame(np.arange(9.).reshape((3,3)),columns=list('bcd'),index=['Ohio','Texas','Colorado'])
df2=DataFrame(np.arange(12.).reshape(4,3),columns=list('bde'),index=['Utah'
,'Ohio','Texas','Oregon']) df1 df2 df1+df2 df1=DataFrame(np.arange(12.).reshape((3,4)),columns=list('abcd')) df1 df2=DataFrame(np.arange(20.).reshape((4,5)),columns=list('abcde')) df2 df1+df2 df1.add(df2,fill_value=0) df1.reindex(columns=df2.columns,fill_value=0) import numpy as np arr=np.arange(12.).reshape((3
,4)) arr arr[0] arr-arr[0] frame=DataFrame(np.arange(12.).reshape((4,3)),columns=list('bde'),index=['Utah','Ohio','Texas','Oregon']) frame series=frame.ix[0] serries series frame-series series2=Series(range(3),index=['b','e','f']) series2 series frame series2 frame+series2 series3=frame['d'] series3 frame frame.sub(series3,axis=0
) frame=DataFrame(np.random.randn(4,3),columns=list('bde'),index=['Utah','Ohio','Texas','Oregon']) frame np.abs(frame) f= lambda x:x.max()-x.min() frame.apply(f) frame.apply(f,axis=1) def f(x): return Series([x.min(),x.max()],index=['min','max']) frame frame.apply(f) format=lambda x:'%.2f'%x frame.apply(format) frame.applymap(format) frame['e'].map(format) obj=Series(range(4),index=['d','a','b','c']) obj obj.sort_index() frame=DataFrame(np.arange(8).reshape((2,4)),index=['three','one'],columns=['d','a','b','c']) frame frame.sort_index() frame.sort_index(axis=1) frame.sort_index(axis=1,ascending=False) obj=Series([4,7,-3,2]) obj obj.order() obj=Series([4,np.nan,7,np.nan,-3,2]) obj obj.order() frame=DataFrame({'b':[4,7,-3,2],'a':[0,1,0,1]}) frame frame.sort_index(by='b') frame.sort_index(by=['a','b']) obj=Series([7,-5,7,4,2,0,4]) obj obj.rank() obj.rank() obj.rank(method='first') obj.rank(ascending=False,method='max') frame=DataFrame{'b':[4.3,7,-3,2],'a':[0,1,0,1],'c':[-2,5,8,-2.5]} frame=DataFrame({'b':[4.3,7,-3,2],'a':[0,1,0,1],'c':[-2,5,8,-2.5]}) frame frame.rank(axis=1) obj=Sereis(range(5),index=['a','a','b','b','c']) obj=Series(range(5),index=['a','a','b','b','c']) obj obj.index.is_unique obj['a'] obj['c'] df=DataFrame(np.random.randn(4,3),index=['a','a','b','b']) df df.ix['b']