Python常见面试题(三)——numpy和pandas

主要讲二者的结合应用

1、基础函数的应用

frame = pd.DataFrame(np.random.randn(4, 3), columns=list('bde'), 
                     index=['Utah', 'Ohio', 'Texas', 'Oregon'])

2、lambda函数

也叫匿名函数,即,函数没有具体的名称,不用考虑函数命名;使用lambda可以省去定义函数的过程,让代码更加精简。

lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。

def ff(x):
    return 3.1415926*x
#等价于
gg = lambda x : 3.1415926*x

 应用在数组上:

f = lambda x: x.max() - x.min()
#应用到列上
frame.apply(f)
#应用到行上
frame.apply(f, axis='columns')

series和函数的应用,注意是一列一列的,应为是序列。 

def f0(x): 
    return pd.Series([x.min(), x.max()], index=['min', 'max'])

frame.apply(f0)

3、函数的映射

format = lambda x: '%.2f' % x
frame.applymap(format)

 4、排序和排名

obj = pd.Series(range(4), index=['d', 'a', 'b', 'c'])
obj.sort_index()
#逆序
frame.sort_index(ascending=False)
#按列民排序
frame.sort_index(axis=1)
frame.sort_index(axis=1, ascending=False)#降序

#按取值对seriex排序
#**sort_values**函数的使用
obj = pd.Series([4, 7, -3, 2])
obj.sort_values()
#对于dataframe,按'b'的列排序
frame.sort_values(by='b')
#存在两个以上排序
frame.sort_values(by=['a', 'b'])

#默认方法是排名相同时,取排名平均作为rank
obj.rank()

#series里出现重复label的index
obj.index.is_unique

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值