Python_pandas 两种主要的数据类型(Series、DataFrame)



因为是数学专业,最开始深入学习的是MATLAB(下面简称M),感受最深的就是M的简单高效,高精度,不管什么东西,统统放到数组(或者说矩阵)里面,天哪噜,不可思议,和C语言、C++相比,这玩意就是个天生的数据实验室利器。后来用M做了个GUI,在编译成C风格的exe时花了大心血,才发现,原来这厮是个不折不扣的封闭症患者,和其他语言的友好指数基本为0。再后来涉及到版权问题,这才下定决心换个工具——Python。废话少说,快快进入正题,直接上源代码。

这里就先上两种数据类型的基本操作——增删改查。

 
  

 
  
#-*-coding:GBK-*-
#Series和Dataframe
import pandas as pds
import numpy as np
#序列定义及index
s1=pds.Series([1,2,4,6,7,2])
s2=pds.Series([4,3,1,57,8],index=['a','b','c','d','e'])
obj1=s2.values;print(obj1)
obj2=s2.index;print(obj2)
print(s2[s2>4])
print(s2['b'])
#数据框定义
a=pds.DataFrame(np.random.rand(4,5),index=list("ABCD"),columns=list('abcde'))
print(a)

#增加列或修改列
a['f']=[1,2,3,4]
a['e']=10
print(a)

#增加行或修改行
a.ix['D']=10
S=pds.DataFrame(np.random.rand(4,6),index=list("EFGH"),columns=list('abcdef'))
a=a.append(S)
print(a)

#切片
print(a[['b','e']])
print(a.iloc[2:,3:])
print(a.loc['A':'D',['a','c','f']])

#减少行或减少列
a=a.drop(['C','D'])
a=a.drop('a',axis=1)
print(a)
#缺失值处理
#缺失值替代
a.iloc[2,3]=None
a.iloc[4,0]=None
print(a)
a=a.fillna(5)
print(a)
#缺失值去行
a.iloc[2,3]=None
a.iloc[4,0]=None
a=a.dropna()
print(a)
#读取excel,适当改动后,保存到excel     (help(pandas.***)查看相关帮助)
e1=pds.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)


e2=pds.read_excel('test_copy.xlsx',sheetname='Sheet1',names='table1',header=None)
e2.columns=['a','b','c','d']
print(e2)
a=numpy.array(e2)#a=e2.values

e2['e']=pds.Series([0,-2,3,4],index=[1,3,4,5])
e2['f']=np.linspace(1,20,5)
e2['g']=e2['f']>=10
e2.ix[4]=[1,2,3,4,5,6,'False']
print(e2)
ss=e2.ix[4]
e2=e2.append(ss,ignore_index=False)
print(e2)
e2=e2.drop('a',axis=1)
e2=e2.drop(1)
print(e2)
e2=e2.fillna(value=5)
print(e2)

e2.to_excel('test_write.xlsx',header=False,index=False)


因为用的是Anaconda的库,所以避免了安装时的麻烦,但在安装其他的包时出现了下载速度极其极其不友好时,发现了一个好办法,就是采用清华的一个映像网站

打开cmd,进入conda所在目录下,增加来源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

再安装相应的包就可以了,比如这里应该安装:

conda install pandas.


Game Over!

你可能感兴趣的:(Python)