一、Series和Dataframe的區(qū)別
Series
Series是一種類似于一維數(shù)組的對象。它由一組數(shù)據(jù)(各種Numpy數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標(biāo)簽(即索引)組成。
>>>Series只有行索引
Series相當(dāng)于數(shù)組numpy.array類似
s1=pd.Series([1,2,4,6,7,2])
s2=pd.Series([4,3,1,57,8],index=[‘a(chǎn)’,’b’,’c’,’d’,’e’])
print s2
obj1=s2.values
# print obj1
obj2=s2.index
# print obj2
# print s2[s2>4]
# print s2[‘b’]
DataFrame
DataFrame是一個(gè)表格型的數(shù)據(jù)結(jié)構(gòu),它含有一組有序的列,每列可以是不同的值類型(數(shù)值、字符串、布爾型值)。DataFrame既有行索引也有列索引,它可以被看做由Series組成的字典(共同用一個(gè)索引)。
>>>DataFrame既有行索引也有列索引
DataFrame的一些操作
#增加列或修改列
a[‘f’]=[1,2,3,4]
a[‘e’]=10
print a
print “=======================”
#增加行或修改行
a.ix[‘D’]=10
# print a
S=pd.DataFrame(np.random.rand(4,6),index=list(‘EFGH’),columns=list(‘a(chǎn)bcdef’))
a=a.append(S)
print a
print “=======================”
#切片
print (a[[‘b’,’e’]]) #取’b’,’e’列
print a.loc[‘A’:’D’,[‘a(chǎn)’,’c’,’f’]] #取’A’-‘D’行’a’,’c’,’f’列
print “=======================”
#減少行或減少列
a=a.drop([‘C’,’D’]) #刪除’C’行和’D’
print a
a=a.drop(‘a(chǎn)’,axis=1) #刪除’a’列,axis=0表示行,axis=1表示列
print a
print “=======================”
#缺省值處理
a.iloc[2,3]=None #取第三行第4列值設(shè)為None
a.iloc[4,0]=None #取第五行第1列值設(shè)為None
print a
a=a.fillna(5)? #缺省值處(即NaN處填充為5)
print a
#缺省值去行即有缺省值的把這一行都去掉
a.iloc[2,3]=None
a.iloc[4,0]=None
print a
a=a.dropna() #刪除缺省值為NaN的行
print a
print “=======================”
#讀取excel,適當(dāng)改動后,保存到excel中
e1=pd.read_excel(‘test.xlsx’,sheetname=’Sheet1′)
e1.columns=[‘class’,’no’,’name’,’sex’,’dormitory’,’phonenumber’]
print(e1)
print(e1.ix[2])
print(e1[‘class’])
print(e1.sex)
#可將取出的數(shù)據(jù)處理,處理完后再保存到excel中去
e2=pd.read_excel(‘test_copy.xlsx’,sheetname=’Sheet1′,names=’table1′,header=None)
e2.columns=[‘a(chǎn)’,’b’,’c’,’d’]
print(e2)
e2.to_excel(‘test_write.xlsx’,header=False,index=False)
延伸閱讀:
二、什么是Python
Python是一種跨平臺的計(jì)算機(jī)程序設(shè)計(jì)語言。 是一個(gè)高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言。最初被設(shè)計(jì)用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。