目录

Series和Dataframe的区别

Series是一种类似于一维数组的对象。它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。

一、Series和Dataframe的区别

Series

Series是一种类似于一维数组的对象。它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。

>>>Series只有行索引

Series相当于数组numpy.array类似

s1=pd.Series([1,2,4,6,7,2])

s2=pd.Series([4,3,1,57,8],index=[‘a’,’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是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共同用一个索引)。

>>>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(‘abcdef’))

a=a.append(S)

print a

print “=======================”

#切片

print (a[[‘b’,’e’]]) #取’b’,’e’列

print a.loc[‘A’:’D’,[‘a’,’c’,’f’]] #取’A’-‘D’行’a’,’c’,’f’列

print “=======================”

#减少行或减少列

a=a.drop([‘C’,’D’]) #删除’C’行和’D’

print a

a=a.drop(‘a’,axis=1) #删除’a’列,axis=0表示行,axis=1表示列

print a

print “=======================”

#缺省值处理

a.iloc[2,3]=None #取第三行第4列值设为None

a.iloc[4,0]=None #取第五行第1列值设为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,适当改动后,保存到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)

#可将取出的数据处理,处理完后再保存到excel中去

e2=pd.read_excel(‘test_copy.xlsx’,sheetname=’Sheet1′,names=’table1′,header=None)

e2.columns=[‘a’,’b’,’c’,’d’]

print(e2)

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

延伸阅读:

二、什么是Python

Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。

一站式研发项目管理平台 PingCode

一站式研发项目管理平台 PingCode

支持敏捷\瀑布、知识库、迭代计划&跟踪、需求、缺陷、测试管理,同时满足非研发团队的流程规划、项目管理和在线办公需要。