Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >根据每种列类型获取数据帧的平均值和模式

根据每种列类型获取数据帧的平均值和模式
EN

Stack Overflow用户
提问于 2021-03-23 21:56:42
回答 3查看 52关注 0票数 5

抱歉,如果之前有人问过类似的问题,我到处找了找,但找不到解决方案。

我的数据集如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data1 = {'Group':['Winner','Winner','Winner','Winner','Loser','Loser'],
        'Study': ['Read','Read','Notes','Cheat','Read','Read'],
        'Score': [1,.90,.80,.70,1,.90]}
df1 = pd.DataFrame(data=data1)

此数据帧跨越数十行,并具有一组数值列和一组字符串列。我想将其压缩为1行,其中每个条目只是该列的平均值或模式。如果该列是数字,则取平均值,否则,采用模式。在我的实际用例中,数字列和对象列的顺序是随机的,所以我希望使用一个迭代循环来检查每一列要采取的操作。

我试过了,但它不起作用,它似乎是以整个系列为模式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for i in df1:
    if df1[i].dtype == 'float64':
        df1[i] = df1[i].mean()

感谢您的帮助,谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-03-23 22:11:27

您可以将describe'all'一起使用,后者根据dtype计算统计信息。它确定object的top (模式)和数字列的mean。然后再合并。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
s = df1.describe(include='all')
s = s.loc['top'].combine_first(s.loc['mean'])

#Group      Winner
#Study        Read
#Score    0.883333
#Name: top, dtype: object
票数 4
EN

Stack Overflow用户

发布于 2021-03-23 22:07:28

np.numberselect_dtypes

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
s = df1.select_dtypes(np.number).mean()
df1.drop(s.index, axis=1).mode().iloc[0].append(s)

Group      Winner
Study        Read
Score    0.883333
dtype: object

变体

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
g = df1.dtypes.map(lambda x: np.issubdtype(x, np.number))
d = {k: d for k, d in df1.groupby(g, axis=1)}
pd.concat([d[False].mode().iloc[0], d[True].mean()])

Group      Winner
Study        Read
Score    0.883333
dtype: object
票数 3
EN

Stack Overflow用户

发布于 2021-03-23 22:07:02

以下是您的解决方案的一个细微变化,可以完成这项工作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
res = {}
for col_name, col_type in zip(df1.columns, df1.dtypes):
    if pd.api.types.is_numeric_dtype(col_type):
        res[col_name] = df1[col_name].mean()
    else:
        res[col_name]= df1[col_name].mode()[0]

pd.DataFrame(res, index = [0])

返回

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    Group   Study   Score
0   Winner  Read    0.883333

一个系列中可能有多个mode --此解决方案选择第一个

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66771882

复制
相关文章
laravel-admin select、multipleSelect从api中获取选项列表
select、multipleSelect从api中获取选项列表 $form->select($column[, $label])->options([1 => 'foo', 2 => 'bar', 'val' => 'Option name']); 或者从api中获取选项列表: $form->select($column[, $label])->options('/api/users'); 其中api接口的格式必须为下面格式: [ { "id": 9, "tex
友儿
2022/09/11
3.8K0
PHP 解析JSON 并获取对应的值
本文由 Alone88 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 最后编辑时间为: Sep 21, 2019 at 01:53 pm
Alone88
2019/10/22
2.9K0
react中父组件向子组件传值
子组件中只能使用不能修改父组件传递过来的数据!!!如果非要修改,那就父组件传递一个方法给子组件,子组件使用这个方法来改变父组件中的数据。这就是react的单项数据流(父组件传递给子组件,不可以在子组件中改变)
全栈程序员站长
2022/09/01
2.5K0
如何在 React 中的 Select 标签上设置占位符?
在 React 中,<Select> 标签是用于创建下拉选择框的组件。在某些情况下,我们希望在选择框中添加一个占位符,以提醒用户选择合适的选项。本文将详细介绍如何在 React 中的 <Select> 标签上设置占位符,并提供示例代码帮助你理解和应用这个功能。
网络技术联盟站
2023/06/07
3.2K0
react中类组件传值,函数组件传值:父子组件传值、非父子组件传值[通俗易懂]
函数组件中我们一般情况下使用useEffect实现数据的请求 // useEffect Hook 看做 componentDidMount,componentDidUpdate 和 componentWillUnmount (加载,更新,卸载)这三个函数的组合。 语法格式: useEffect(()=>{ },[])
全栈程序员站长
2022/08/30
6.3K0
关于React组件props默认值的设置
在编写react组件的时候,为了兼容一些分支逻辑,我们经常会给组件的props设置一些默认值,但是有些默认值的写法会导致一些潜在的问题,比如无法推断类型,本文将对几种设置默认值的写法进行分析,总结其优劣。
Jou
2023/05/01
3.9K0
关于React组件props默认值的设置
vue中同时获取select下拉框的值和文本
在下是首席架构师
2023/07/04
2K0
vue中同时获取select下拉框的值和文本
php取得json_decode中的值,php json decode-获取值[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。 正如Danp已经说过的,返回的JSON包含在函数调用中(由 jsoncallback=json )你不能完全摆脱这个,但是,只是用 AreaSearch?js
全栈程序员站长
2022/09/09
8.4K0
Redhat6中获取LANG值为空
首先来描述一下我遇到的问题:如下图所示在我们产品中,服务脚本放置在目录/etc/init.d中,在用命令 "service xxx start" 后,脚本中启动应用程序ice_main,ice_main进程中使用命令 "locale" 来获取当前所使用的语言。但是获取的LANG的值为空......
河边一枝柳
2021/08/06
4K0
React中的高阶组件
高阶组件HOC即Higher Order Component是React中用于复用组件逻辑的一种高级技巧,HOC自身不是React API的一部分,它是一种基于React的组合特性而形成的设计模式。
WindRunnerMax
2021/01/18
3.8K0
npm 中如何下载特定的组件版本
IMWeb前端团队
2018/01/08
4.3K0
npm 中如何下载特定的组件版本
React中的纯组件
React提供了一种基于浅比较模式来确定是否应该重新渲染组件的类React.PureComponent,通常只需要继承React.PureComponent就可以定义一个纯组件。React.PureComponent与React.Component很相似,两者的区别在于React.Component并未实现shouldComponentUpdate(),而React.PureComponent中以浅层对比prop和state的方式来实现了该函数。如果赋予React组件相同的props和state,render()函数会渲染相同的内容,那么在某些情况下使用React.PureComponent可提高性能。
WindRunnerMax
2021/01/18
2.5K0
3、React组件中的this
这段代码运行,可以看到student.func()打印了student对象,因为此时this指向student对象;而studentFunc()打印了window,因为此时由window调用的,this指向window。
keyWords
2018/09/19
2.9K0
3、React组件中的this
用于从 JSON 响应中提取单个值的 Python 程序
值提取是一个非常流行的编程概念,它用于各种操作。但是,从 JSON 响应中提取值是一个完全不同的概念。它帮助我们构建逻辑并在复杂数据集中定位特定值。本文将介绍可用于从 JSON 响应中提取单个值的各种方法。在开始值提取之前,让我们重点了解 JSON 响应的含义。
很酷的站长
2023/08/11
2180
用于从 JSON 响应中提取单个值的 Python 程序
angularjs中设置select的选中项
最近用angularjs比较多,里面有很多自己的方法,都不咋会用,这篇只是个笔记,防止自己忘记
庞小明
2019/07/08
3.2K0
jQueryWEUI动态赋值select下拉框并获取value值
数据形式 var gift_id = ""; $.ajax({ url: '', type: 'post',
明知山
2020/09/03
3.2K0
element-ui 中 ele-select 获取选中option的label值
通过名字获取选中option的label值,如果此方法失效,可打印此对象this.$refs.itemSelect,查找选中项的label值
十里青山
2022/08/07
4.7K0
获取listbox中的值
List<string> list=new List<string>();             for (int i = 0; i < lbLog.Items.Count - 1; i++)             {                 list.Add(lbLog.Items[i].ToString());             }
2018/09/03
6.2K0
eclipse设置中没有server选项[通俗易懂]
用eclipse准备配置tomcat,发现配置中没有server选项,参考各种解决方法之后成功解决。
全栈程序员站长
2022/08/01
6.5K1
eclipse设置中没有server选项[通俗易懂]
npm 中如何下载特定的组件版本
为了更好的进行说明,我们选择了 lodash 来演示,因为它是被其他模块依赖最多的模块之一。本文是在 windows 7 64位系统中进行测试,npm 版本为 v3.8.1,其他的平台和 npm 版本在某些提示上可能会稍有不同。
IMWeb前端团队
2019/12/04
4.1K0

相似问题

《Uncaught: require not defined》with Angular 2/webpack

34

require not defined "var mysql = require('mysql');“

20

带有"target:'node'“和"type:'module'”的Webpack配置抛出了'require is not defined‘

189

尝试设置.env文件时出现‘'require is not defined’错误

10

导入文件系统模块时'ReferenceError: require is not defined‘

1504
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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