码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • pandas 怎么样扩展数据,就是把加权数据,转换成个案数据


    之前一直用stata,觉得有一个很好用的功能呢,就是expand,

    具体来说就是,比如有一个交叉表,是这样的。

    这是风笑天社会研究方法一书里的例子,我想把这个数据变成个案数据,让学生练习,首先,你的按照百分比,计算出每一个格子的绝对数,大概是这么多。

     

    如果使用spss统计的话,spss菜单里有一个weight 菜单。可以很轻松的解决这个问题。不需要把加权数据变成个案数据。

    但是如果使用excel的话,就不行,我向把数据变成这样的,

     就是变成单独一个人的,通俗的理解就是把权重这个频数,直接打散,还原成1787个个案数据,这样在excel里可以使用数据透视表的功能。

     

    那么怎么把这个weight过的数据,还原。其实以前用stata,很方便。

     

     

    只需要两句。

    最近这些年很少用stata。

    尝试用python做一下。

    但是这个需求真的很偏,太少有人论述这个了。网上找不到合适的。我感觉python应该是有一个简单的语句就可以实现的。但是,实在找不到,不知道有没有大神可以指点我一下。

    我自己是这样做的,用的是pandas的explode。

     

    1. dctX = {
    2. "独生|不做饭": [1] * 421,
    3. "独生|做饭": [2] * 197,
    4. "非独生|不做饭":[3] * 661,
    5. "非独生|做饭": [4] * 508,
    6. }
    7. pd.DataFrame([dctX]).T
    8. df = pd.DataFrame([dctX]).T
    9. df
    10. df.columns = ['a']
    11. df
    12. df2 = df.explode('a')
    13. df2.shape
    14. df2 = df2.reset_index()
    15. df2
    16. df2['dusheng'] = df2['index'].str.split("|")
    17. df2['index'].str.split("|")[0]
    18. df2
    19. df2['dusheng']
    20. df2['ds'] =[ x[0] for x in df2['dusheng']]
    21. df2['ds']
    22. df2
    23. df2['zuofan'] =[ x[1] for x in df2['dusheng']]
    24. df2
    25. df3 = df2[['ds', 'zuofan']]
    26. df3
    27. pd.crosstab(df3['ds'], df3['zuofan'])

    得到的结果df3, 就是上面的图。

    用起来还行。也算是一种解决方法吧。

  • 相关阅读:
    Python如何使用Redis
    通过索引名(行、列名)提取DataFrame中的数据loc()通过索引号(行、列号)提取DataFrame中的数据iloc()
    经典卷积神经网络 - AlexNet
    17.Excel vba开发-根据分数判断等级
    Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage
    linux下安装/升级GCC到较高版本
    比特币通用API服务
    Unity 3D模型展示框架篇之资源打包、加载、热更(Addressable Asset System | 简称AA)
    Spring Data JPA使用@DynamicInsert和@DynamicUpdate注解进行动态插入和更新
    最长回文子串
  • 原文地址:https://blog.csdn.net/weixin_40340586/article/details/125004467
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号