Python学习之pandas快速入门(四)

基本功能 丢弃指定轴上的项

· 丢弃某条轴上的一个或多个项很简单,只要有一个索引数组或列表即可。

由于需要执行一些数据整理和集合逻辑,所以drop方法返回的是一个在指定轴上删除了指定值的新对象

#'Series根据索引删除元素'

obj = Series(np.arange(5.), index = ['a', 'b', 'c', 'd', 'e'])

new_obj = obj.drop('c')

print(new_obj)

print(obj.drop(['d', 'c']))

#'DataFrame删除元素,可指定索引或列。'

data = DataFrame(np.arange(16).reshape((4, 4)),

index = ['Ohio', 'Colorado', 'Utah', 'New York'],

columns = ['one', 'two', 'three', 'four'])

print(data)

print (data.drop(['Colorado', 'Ohio']))

print (data.drop('two', axis = 1))

print (data.drop(['two', 'four'], axis = 1))

基本功能 索引、选取和过滤

· Series索引(obj[...])的工作方式类似于NumPy数组的索引,只不过Series的索引值不只是整数。

· 利用标签的切片运算与普通的Python切片运算不同,其末端是包含的(inclusive)。

· 对DataFrame进行索引其实就是获取一个或多个列

· 为了在DataFrame的行上进行标签索引,引入了专门的索引字段ix。

· DataFrame的索引选项

#'Series的索引,默认数字索引可以工作。'

obj = Series(np.arange(4.), index = ['a', 'b', 'c', 'd'])

print(obj)

print(obj['b'])

print(obj[1])

print(obj[[1, 3]])

print(obj[obj < 2])

# 'Series的数组切片'

print(obj['b':'c'] ) # 闭区间

obj['b':'c'] = 5

print(obj)

#'DataFrame的索引'

data = DataFrame(np.arange(16).reshape((4, 4)),

index = ['Ohio', 'Colorado', 'Utah', 'New York'],

columns = ['one', 'two', 'three', 'four'])

print(data)

print(data['two']) # 打印列

print(data[['three', 'one']])

print(data[:2])####前两行

print(data.ix['Colorado', ['two', 'three']]) # 指定索引和列

print(data.ix[['Colorado', 'Utah'], [3, 0, 1]])##第4、1、2列

print(data.ix[2]) # 打印第2行(从0开始)

print(data.ix[:'Utah', 'two']) # 从开始到Utah,第2列。

# '根据条件选择'

print(data[data.three > 5])

print(data < 5 ) # 打印True或者False

data[data < 5] = 0

print(data)

你可能感兴趣的:(Python学习之pandas快速入门(四))