python-根据多索引的一部分选择熊猫系列中的条目

python-根据多索引的一部分选择熊猫系列中的条目,第1张

概述我有一个这样构造的熊猫系列import itertools import pandas as pd combos = list(itertools.permutations(['BB', 'BW', 'WW'], 2)) combo_values = pd.Series([2,4,0,2,0,0], combos) 所以combo_values看起来像

我有一个这样构造的熊猫系列

import itertoolsimport pandas as pdcombos = List(itertools.permutations(['BB','BW','WW'],2))combo_values = pd.SerIEs([2,4,2,0],combos)

所以combo_values看起来像这样

(BB,BW)    2(BB,WW)    4(BW,BB)    0(BW,WW)    2(WW,BB)    0(WW,BW)    0dtype: int64

我知道您可以像这样提取一个条目

combo_values['BB','BW']

所以我想提取前两个条目,我想这样做:

combo_values['BB',]#or thiscombo_values['BB',:]

都不起作用,并且第一个选项会产生以下错误(我正在清除跟踪)

TypeError: 'tuple' object cannot be interpreted as an integerKeyError: ('BB',)

我知道这种替代解决方案有效:

combo_df = pd.DataFrame(combos,columns = ['A','B'])combo_df['combo_values'] = [2,0]combo_df.loc[combo_df['A'] == 'BB',:]

但是有没有办法用我的combo_values系列做到这一点?

谢谢

最佳答案正确的方法是使用多索引,而不是元组索引:

import itertoolsimport pandas as pdcombos = List(itertools.permutations(['BB',2))multi = pd.MultiIndex.from_tuples(combos)combo_values = pd.SerIEs([2,multi)

现在,combo_values如下所示:

BB  BW    0.25    WW    0.50BW  BB    0.00    WW    0.25WW  BB    0.00    BW    0.00dtype: float64

可以这样过滤:

combo_values['BB',]

屈服

BW    0.25WW    0.50
总结

以上是内存溢出为你收集整理的python-根据多索引的一部分选择熊猫系列中的条目 全部内容,希望文章能够帮你解决python-根据多索引的一部分选择熊猫系列中的条目 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1199616.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存