为什么在pandas中使用"=="会返回一个Series而不是bool?

我就是不明白第二行的”==”是什么意思: – 这不是一个测试,没有if语句……。- 这不是一个测试,没有if语句… – 这不是一个变量声明…

我从来没有见过这种情况,这个东西就是 data.ctage==cat 是熊猫系列,不是测试……

for cat in data["categ"].unique():
    subset = data[data.categ == cat] # Création du sous-échantillon
    print("-"*20)
    print('Catégorie : ' + cat)
    print("moyenne:\n",subset['montant'].mean())
    print("mediane:\n",subset['montant'].median())
    print("mode:\n",subset['montant'].mode())
    print("VAR:\n",subset['montant'].var())
    print("EC:\n",subset['montant'].std())
    plt.figure(figsize=(5,5))
    subset["montant"].hist(bins=30) # Crée l'histogramme
    plt.show() # Affiche l'histogramme

解决方案:

它是在测试每个元素的 data.categ 争取平等 cat. 这将产生一个TrueFalse值的向量。这将作为索引器传递给 data[],它返回来自 data 对应于向量中的True值。

总结一下,整个表达式返回的是来自 data 的值 data.categ 等于 cat.

(似乎整个操作可以更优雅的使用 data.groupBy('categ').apply(someFunc).)

给TA打赏
共{{data.count}}人
人已打赏
未分类

如果数字是5609,输出的是 "这个数字是质数",即使我知道它不是质数[关闭]。

2022-9-9 3:40:23

未分类

用对话框中的删除按钮删除Vuetify数据表中的行。

2022-9-9 3:51:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索