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

熊猫具有多索引的高级横截面

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

熊猫具有多索引的高级横截面

这是0.14.0中的新功能,请参阅此处的whatsnew
。这有效地替代了的需求

.xs

In [8]: idx = pd.IndexSliceIn [9]: df.loc[:,idx[:,:,[2,3]]]Out[9]: first          A      B        second         a        b        a        b          third          2         3         2         3         2         3         2         30       1.770120 -0.362269 -0.804352  1.549652  0.069858 -0.274113  0.570410 -0.4609561      -0.982169  2.044497  0.571353  0.310634 -1.865966 -0.862613  0.124413  0.6454192      -1.412519  0.168448  0.081467 -0.220464  1.033748  1.561429  0.094363  0.2547683      -0.653458 -0.978661  0.158708 -0.818675 -1.122577  0.026941  2.678548  0.8648174      -0.555179 -0.155564  1.148956  1.438523 -1.254660  0.609254 -0.970612  1.519028

减去这是不平凡的。

[107]: df = pd.Dataframe(np.arange(5*12).reshape(-1,12), columns=col)In [108]: dfOut[108]: first    A B         second   abab        third    1   2   3   1   2   3   1   2   3   1   2   30        0   1   2   3   4   5   6   7   8   9  10  111       12  13  14  15  16  17  18  19  20  21  22  232       24  25  26  27  28  29  30  31  32  33  34  353       36  37  38  39  40  41  42  43  44  45  46  474       48  49  50  51  52  53  54  55  56  57  58  59

Pandas希望对齐rhs一侧(毕竟,您要跟踪不同的索引),因此您需要手动广播它。这是关于此的问题:https
:
//github.com/pydata/pandas/issues/7475

In [109]: df.loc[:,idx[:,:[2,3]]] = df.loc[:,idx[:,:,[2,3]]]-np.tile(df.loc[:,idx[:,:,1]].values,2)Out[109]: first   AB         second  a     b     a     b   third   2  3  2  3  2  3  2  30       1 -1 -2 -4  7  5  4  21       1 -1 -2 -4  7  5  4  22       1 -1 -2 -4  7  5  4  23       1 -1 -2 -4  7  5  4  24       1 -1 -2 -4  7  5  4  2


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

版权所有 (c)2021-2022 MSHXW.COM

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