栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 面试经验 > 面试问答

Pandas:根据条件为多索引数据框的子集设置值的正确方法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pandas:根据条件为多索引数据框的子集设置值的正确方法

这是的应用程序(也是使用MultiIndex Slicers的主要动机之一),请参见此处的文档

In [20]: df = pd.Dataframe({('A','a'): [-1,-1,0,10,12],        ('A','b'): [0,1,2,3,-1],        ('B','a'): [-20,-10,0,10,20],        ('B','b'): [-200,-100,0,100,200]})In [21]: dfOut[21]:     A      B         a  b   a    b0  -1  0 -20 -2001  -1  1 -10 -1002   0  2   0    03  10  3  10  1004  12 -1  20  200In [22]: idx = pd.IndexSliceIn [23]: mask = df.loc[:,idx['A',:]]<0In [24]: maskOut[24]:        A   a      b0   True  False1   True  False2  False  False3  False  False4  False   TrueIn [25]: df[mask] = 0In [26]: dfOut[26]:     A      B         a  b   a    b0   0  0 -20 -2001   0  1 -10 -1002   0  2   0    03  10  3  10  1004  12  0  20  200

由于您使用的是列索引的第一级,因此以下内容也将适用。上面的示例更为笼统,说您想对“ a”执行此操作。

In [30]: df[df[['A']]<0] = 0In [31]: dfOut[31]:     A      B         a  b   a    b0   0  0 -20 -2001   0  1 -10 -1002   0  2   0    03  10  3  10  1004  12  0  20  200


转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/640031.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号