首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在缺少值的Pandas中使用聚合函数

如何在缺少值的Pandas中使用聚合函数
EN

Stack Overflow用户
提问于 2019-09-05 05:34:36
回答 1查看 618关注 0票数 1

我是熊猫的新手,也是泰坦尼克号数据集的实验对象。在使用了groupby函数之后,如果我应用mean(),那么它就能正常工作。但是当我计算std()时,我得到的是NaN。我理解这意味着默认情况下排除缺失的值,而不考虑它们,但是std将它们考虑在内。

我尝试过更改ddof=1skipna=True,但它们并不适用于groupby。请帮帮忙。我的代码中的标题来自使用功能工程的名称。我试图根据特定人群中所有乘客年龄的平均值和性病来预测年龄的缺失值(就像主人的平均年龄一样)。因此,只根据母机的均值和std按群函数计算母机丢失的年龄)。

代码语言:javascript
运行
AI代码解释
复制
std = train_df.groupby(['Title'])['Age'].std()
print(std)

mean = train_df.groupby(['Title'])['Age'].mean()
print(mean)
代码语言:javascript
运行
AI代码解释
复制
Output for sd
Title
 Capt                  NaN
 Col              2.828427
 Don                   NaN
 Dr              19.295941
 Jonkheer              NaN
 Lady                  NaN
 Major            4.949747
 Master           3.792621
 Miss            14.525089
 Mlle             0.000000
 Mme                   NaN
 Mr              17.604569
 Mrs             16.292678
 Ms                    NaN
 Rev             13.136463
 Sir                   NaN
 the Countess          NaN


Output for mean
Title
 Capt            70.000000
 Col             58.000000
 Don             40.000000
 Dr              36.000000
 Jonkheer        38.000000
 Lady            48.000000
 Major           48.500000
 Master           4.025000
 Miss            17.450549
 Mlle            24.000000
 Mme             24.000000
 Mr              24.903288
 Mrs             31.016000
 Ms              28.000000
 Rev             43.166667
 Sir             49.000000
 the Countess    33.000000


DATAFRAME
   Survived  Pclass                                               Name     Sex  Age  SibSp  Parch            Ticket     Fare Embarked  Title
0         0       3                            Braund, Mr. Owen Harris    male   22      1      0         A/5 21171   7.2500        S     Mr
1         1       1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female   38      1      0          PC 17599  71.2833        C    Mrs
2         1       3                             Heikkinen, Miss. Laina  female   26      0      0  STON/O2. 3101282   7.9250        S   Miss
3         1       1       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female   35      1      0            113803  53.1000        S    Mrs
4         0       3                           Allen, Mr. William Henry    male   35      0      0            373450   8.0500        S     Mr
EN

回答 1

Stack Overflow用户

发布于 2019-09-05 11:55:00

标准差计算为sqrt(sum((x-x.mean())**2)/(n-ddof)),其中n是序列的长度,ddof是均值的δ自由度。来自文档

在标准统计实践中,ddof=1提供了对无限总体方差的无偏估计。ddof=0为正态分布变量提供了方差的最大似然估计。

请注意,1默认值是ddofddof是,而numpy。对于只有一个条目的组,由于除以0,我们得到了NaN:

代码语言:javascript
运行
AI代码解释
复制
df.groupby(['Title'])['Age'].agg(['count','std'])
               count        std
Title                          
 Capt              1        NaN
 Col               2   2.828427
 Don               1        NaN
 Dr                6  12.016655
 Jonkheer          1        NaN
 Lady              1        NaN
 Major             2   4.949747
 Master           36   3.619872
 Miss            146  12.990292
 Mlle              2   0.000000
 Mme               1        NaN
 Mr              398  12.708793
 Mrs             108  11.433628
 Ms                1        NaN
 Rev               6  13.136463
 Sir               1        NaN
 the Countess      1        NaN

如果希望stdddof of 0一起使用,则可以为熊猫函数指定ddof=0,也可以使用numpy函数及其ddof默认值0

代码语言:javascript
运行
AI代码解释
复制
df.groupby(['Title'])['Age'].std(ddof=0)
df.groupby(['Title'])['Age'].agg(lambda x: pd.np.std(x))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57806722

复制
相关文章
Excel按列排序和按行排序
文章背景:Excel二维表中记录着多行多列的数据,有时需要按行或按列排序,使数据更加清晰、易读。下面分别对按列排序和按行排序进行介绍。
Exploring
2022/08/10
3.2K0
Excel按列排序和按行排序
Linux 查看目录下所有的日期信息(按最新日期排序)
1、查看当前目录文件 2、查看目录下文件日期的详细信息 ls --full-time 3、编写 shell 脚本 :monitor.sh #!/bin/bash echo "-------------
静谧星空TEL
2021/04/27
3.5K0
Linux 查看目录下所有的日期信息(按最新日期排序)
pandas排序 按索引和值排序
pandas 排序 import pandas as pd import numpy as np unsorted_df=pd.DataFrame(np.random.randn(10,2),index=[1,4,6,2,3,5,9,8,0,7],columns=['col2','col1']) print (unsorted_df) # 按标签排序 sorted_df = unsorted_df.sort_index(ascending=False) # 降序 print (sorted_df) s
AI拉呱
2021/01/14
2.8K0
hastable按值排序
最近做了一个项目,需要对一个2维数组的值进行排序然后再取出对应的Key值。开始是用HashTable做的,不过HashTable中的排序只是对Key进行排序,如果想对值进行排序得用其它办法。下面我就把这种方法说下:
codeniu
2022/02/25
1.4K0
python 按中文排序
安装中文库 sudo apt-get update sudo apt-get install language-pack-zh-hans-base sudo dpkg-reconfigure locales 使用 import locale locale.setlocale(locale.LC_COLLATE, 'zh_CN.UTF8') cmp = locale.strcoll courses.sort(lambda x, y: cmp(x.course_name, y.course_name)) 测试
py3study
2020/01/06
1.7K0
【MySQL基础】mysql如何实现中文按拼音排序查询
在查询的时候,经常用到排序,英文的排序自然好说,但是在线上特定场景环境中,可能需要对中文进行排序,比如用户的姓名、地址等等。在mysql中如何对中文排序呢?我们可以使用ORDER BY CONVERT(列名 USING 字符编码集)函数即可将中文列名按拼音顺序进行排序。
青山师
2023/05/04
3.1K1
map按key和按value排序
看一个题: 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70 smith 67 从低到高 smith 67 Tom 70 jack 70 peter 96 1、按照value排序 2、可以递增排序和递减排序 3、保证排序的稳定性 golang map按key排序 //golang的map不保证有序
李海彬
2018/03/27
3.3K0
map按key和按value排序
看一个题: 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70 smith 67 从低到高 smith 67 Tom 70 jack 70 peter 96 1、按照value排序 2、可以递增排序和递减排序 3、保证排序的稳定性 golang map按key排序 //golang的map不保证有序
李海彬
2018/03/27
4.7K0
数组按指定顺序排序
数组排序可以直接使用 sort() 方法,可以对数组按规律排序。 但如果指定一个没有规律的顺序进行排序呢? 同样可以使用  sort() 方法: const data = [   { name: '张三', code: 'zs' },   { name: '王五', code: 'ww' },   { name: '赵七', code: 'zq' }, ]; data.sort((star, next) => {   const sortList = ['zq', 'zs', 'ww']   return 
德顺
2022/06/12
2.8K0
Map按单个或多个Value排序,当Value相同时按Key排序
Map可以先按照value进行排序,然后按照key进行排序。 或者先按照key进行排序,然后按照value进行排序,这都是可以的。
向着百万年薪努力的小赵
2023/01/10
2.6K0
php将二维数组按日期(支持Ymd和Ynj格式日期)排序 转
// 原始数组 $array = [         [             'date'=>'2019-2-18',         ],         [             'date'=>'2019-2-4',         ],         [             'date'=>'2019-2-19',         ],         [             'date'=>'2019-2-21',         ],         [             'date'=>'2019-2-24',         ],     ]; var_dump(order_date_array($array, 'desc', 'date')); /*  * 将二维数组按日期(支持Ymd和Ynj格式日期)排序  * order_date_array(原始二维数组, desc还是asc, 日期在二维数组中的键)  * */ function order_date_array($array, $order, $key){     if (!$array){         return [];     }else{         $_array = $array;     }     if (!$order){         $_order = 'desc';     }else{         $_order = $order;     }     if (!$key){ // 二维数据中的Ynj日期的键         $_key = 'date';     }else{         $_key = $key;     }     $new_array = [];     $array_1 = [];     $array_2 = [];     // 日期转时间戳     for ($t=0; $t<count($_array); $t++){         $date = strtotime($_array[$t][$_key]); // Ymd或者Ynj格式日期转时间戳         $array_1[] = $date;         $array_2[] = $date;     }     // 排列方式     if ($_order === 'desc'){ // 降序         rsort($array_2);     }else{ // 升序         sort($array_2);     }     // 重新排序原始数组     for ($r=0; $r<count($array_2); $r++){         $index = array_search($array_2[$r], $array_1); // 元素索引         $new_array[] = $_array[$index];     }     return $new_array; }
双面人
2019/05/21
3K0
MYSQL用法(十六) MySQL按指定字段自定义列表排序
要求:按照字段IS_NEW_PROJ的降序、字段LOAN_APR的降序、字段GMT_BUY_START的升序排序
Java架构师必看
2021/05/31
2.5K0
MYSQL用法(十六) MySQL按指定字段自定义列表排序
MySQL按坐标排序和查找指定范围的坐标
做的项目多了,总会遇到一些需要涉及需要用到地图坐标的。 既然有坐标,那肯定又得涉及位置距离。 例如我们平时使用美团,想搜索附近的美食店,这功能很方便是不是? 希望下面的经验能给你帮助,让你少走些弯路,同时自己做个笔记,方便自己。 毕竟老了,有些东西很快就自己也忘记了,也需要笔记来回忆~
jwj
2022/05/18
2.1K0
LeetCode - 按奇偶排序数组
LeetCode第905题,难度简单。这题很容易联想到之前发过的LeetCode - 按奇偶排序数组②
晓痴
2019/08/01
1.3K0
LeetCode - 按奇偶排序数组
1177: 按要求排序(指针专题)
输入n和n个整数,然后按要求排序,若输入1,请输出升序排序序列;若输入2,请输出降序排序序列,若输入3,请输出按绝对值升序排序序列。要求程序结构如下,请完善程序。
怠惰的未禾
2023/04/27
6030
按奇偶排序数组II
力扣题目链接:https://leetcode-cn.com/problems/sort-array-by-parity-ii/
代码随想录
2021/10/19
1.1K0
BI技巧丨按列排序
PowerBI本身内置的排序方式,是遵循ASCII国际标准的方式,这就导致了中文的默认排序对于很多小伙伴来说并不友好。
PowerBI丨白茶
2022/11/12
3.5K0
BI技巧丨按列排序
LeetCode - 按奇偶排序数组②
这题是LeetCode第N次周赛的题目,题号是922,难度是Easy,当时处于疯狂刷通过率高的题目,然后提高自己的信心的地步...看提交记录,应该是一个月三周前提交的了。
晓痴
2019/07/24
1.3K0
LeetCode - 按奇偶排序数组②
按奇偶排序数组II
给定一个非负整数数组A,A中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当A[i]为奇数时,i也是奇数;当A[i]为偶数时,i也是偶数。 你可以返回任何满足上述条件的数组作为答案。
WindRunnerMax
2020/11/13
1.2K0
展示斗地主扑克牌,支持按出牌规则排序!支持按大小排序!
一副牌有54张,我们给每张牌1个编号(id),取值1-54。如果涉及到2副牌,就取id为1-108。
HullQin
2023/06/28
2.1K0

相似问题

如何在主键列中重用Oracle序列间隙?

22

SQL查询:查找主键中的间隙

20

自动递增ids /主键中的“间隙”会导致任何问题吗?

12

使用序列自动设置Oracle主键

23

从自动增量主键中获取已删除主键列表

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文