点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

寂寂竟何待,朝朝空自归。

大家好,我是Python进阶者。

一、前言

昨天在Python最强王者交流群【鱼鱼鱼也不】问了一个Pandas处理的问题,下图是讨论截图:

下图是他的原始数据:

其实一开始是有点难以理解的。其实这个就是想判断两列的情况,用一列值填充另一列值。

二、实现过程

这里【猫药师Kelly】给了一个解答,如下所示:

后来【郑煜哲·Xiaopang】也给了一个代码,如下所示:

df["col1"].fillna(df[col2])

看上去的确可行,完美地解决了粉丝的问题!

不知道为啥他后面又拿出来问了,问他原因也没说具体,可能是自己不会实现吧(盲猜)。细节方面就不说了,直接放上【月神】的解法。

import pandas as pdfile = ""
output_filename = ""data1 = pd.read_excel(file, sheet_name='Sheet1', dtype={'eventdate': 'datetime64[ns]', 'u1': 'datetime64[ns]'})
d2 = pd.read_excel(file, sheet_name='Sheet2', dtype={'f1': 'datetime64[ns]', 'f2': 'datetime64[ns]'})def match_description(s, df, compare_col, value_col):"""判断df[compare_col]中是否有s,如果有,则返回df[value_col]的第一个值,否则返回空"""compare_data = df[df[compare_col] == s].copy()if compare_data.empty:return Nonereturn compare_data[value_col].values[0]# apply方法第一个.取时间是时分都相等的对应值
d2['gbvibforwardrms'] = d2['f1'].apply(match_description, args=(data1, 'u1', 'gbvibforwardrms'))
# apply方法第二个.取是都是当天时间对应值
d2['gbvibforwardrms1'] = d2['f2'].apply(match_description, args=(data1, 'eventdate', 'gbvibforwardrms'))
# 第一个apply值的缺失值,补第二个apply值, 两列都为空用空字符串填充
d2['c'] = d2['gbvibforwardrms'].fillna(d2['gbvibforwardrms1']).fillna('')
# 数据保存
d2['c'].to_excel(output_filename, sheet_name='data3')

一把过,太强了!

最后再拓展一些,【~上善居士~ 郭百川】分享了几个常用的数据分析姿势,如下图所示:

还有一个,如下图所示:

速查表连接如下:

https://github.com/pandas-dev/pandas/tree/master/doc/cheatsheet

三、总结

大家好,我是Python进阶者。这篇文章主要盘点了一个Pandas处理的问题,文中针对该问题给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【鱼鱼鱼也不】提问,感谢【猫药师Kelly】、【哈佛在等我呢~】、【郑煜哲·Xiaopang】、【~上善居士~ *郭百川】、【月神】、【瑜亮老师】给出的思路和代码解析,感谢【封代春】、【冫马讠成】、【dcpeng】、【此类生物】、【Chloe】、【郎爱君】等人参与学习交流。

大家在学习过程中如果有遇到问题,欢迎随时联系我解决(我的微信:pdcfighting),应粉丝要求,我创建了一些高质量的Python付费学习交流群,欢迎大家加入我的Python学习交流群!

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

赠书规则

如果喜欢本文

欢迎 在看留言分享至朋友圈 三连

赠书

感谢北京大学出版社提供的图书,感兴趣的童鞋欢迎选购!按以下方式和公众号互动,即有机会获赠以上一本图书!
活动方式:在公众号后台回复"送书"参与活动,届时会在参与的小伙伴中抽取1名幸运鹅!或者在本公众号后台文章留言累计300次(PS:一篇文章算留言一次,后台有数据统计的,本号有1000余篇文章,欢迎留言支持),满足留言次数也可以免费获得一本赠书,包邮哦!活动时间:截至8月10日20点(周三)开奖,不见不散。快快拉上你的小伙伴参与进来吧~
让我知道你在看

------------------- End -------------------

往期精彩文章推荐:

  • playwright网络爬虫实战案例分享

  • 手把手使用 python 删除 windows 下的长路径文件

  • Python布尔值属于数字类型吗?

  • Pandas可以直接读取网页html(表格)、json、csv等格式

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

不使用内置函数的情况下,如何使用Python实现求平均值、最大值和最小值?相关推荐

  1. 以下不是python内置函数的是_为什么说python内置函数并不是万能的?

    作者:豌豆花下猫 来源:Python猫 之前我们对比了两种创建列表的方法,即字面量用法 [] 与内置类型用法 list(),进而分析出它们在运行速度上的差异. 在分析为什么 list() 会更慢的时候 ...

  2. 列举至少五个python内置函数和使用方法_Python内置函数 next的具体使用方法 Python中seek和next区别...

    python列表本来没有next方法,为什么用iter函数生...对list用__dir__()发现没有next方法,但是用iter()生成迭代器,对该迭代next是进行迭代的方法,只有迭代器和生成器 ...

  3. 这么多的内置函数能记住吗?对python的68个内置函数分类总结!

    [阅读全文] 内置函数列表 ''' abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod( ...

  4. python不允许使用关键字作为变量名、允许使用内置函数_【判断题】Python不允许使用关键字作为变量名,但是允许使用内置函数名作为变量名,不过这会改变函数名的含义,所以不建议这样做...

    [判断题]Python不允许使用关键字作为变量名,但是允许使用内置函数名作为变量名,不过这会改变函数名的含义,所以不建议这样做 更多相关问题 [单选,A2型题,A1/A2型题] <十四经发挥&g ...

  5. python内置函数open的解释_在python的内置open()函数中缓冲的用途是什么?

    Python文档:http:/ / / 2 /图书馆/ functions.html docs.python.org #开放 open(name[, mode[, buffering]]) 上面的文档 ...

  6. 查看变量数据类型的python内置函数_查看变量类型的 Python 内置函数是 ________________ 。_微观经济学(合作办学)答案_学小易找答案...

    [多选题]维生素B2的食物来源 [判断题]生产中纱线细度间接指标的测试通常采用缕纱称重法. [判断题]在正常情况下,人体所需叶酸除从食物中摄取外,肠道也能部分合成,因此体内一般不缺 [简答题]试述体育 ...

  7. Python学习(14)--内置函数

    Python学习(14)--内置函数 1.Python内置函数 在Python中有很多的内置函数供我们调用,熟练的使用这些内置函数可以让编写代码时事半功倍,所谓内置函数就是那些Python已经预定义并 ...

  8. python函数type的用意_Python内置函数Type()函数一个有趣的用法

    Python内置函数Type()函数一个有趣的用法 今天在网上看到type的一段代码 ,然后查了一下文档,才知道type还有三个参数的用法. 以前只是知道type可以检测对象类型.然后发现了一个有趣的 ...

  9. python——常见内置函数、可迭代对象与迭代器对象

    目录 一.常见内置函数 1.abs() 2.all()与any() 3.bin() oct() hex() 4.int() 5.bytes() 6.callable() 7.chr() ord() 8 ...

最新文章

  1. 美多商城之验证码(异步方案)
  2. 用C语言解“用天平找小球”题
  3. Kprobe在Linux kernel debug中的应用
  4. 小看--发布-订阅(观察者)模式
  5. 6. Leetcode 11. 盛最多水的容器 (数组-双向双指针)
  6. Redis进阶-细说分布式锁
  7. GNN大有可为,从这篇开始学以致用
  8. Spring MVC的表单控制器——SimpleFormController .
  9. DMN中的函数式编程:感觉就像再次重读我的大学课程一样
  10. java发送文件_java 模拟http发送文件和参数
  11. 唐尼vr眼镜好吗_裸眼3DVR和全息投影有什么区别 他们之间谁更好一些
  12. javascript 密码花园 并不清晰的js基础 总结(1)
  13. MATLAB实现智能优化算法
  14. 国外android手机刷机国内,哪些中国安卓用户最爱刷机?
  15. Win7网络和共享中心显示“依赖服务或组无法启动”,无法连接网络
  16. Discuz!教程之论坛设置发帖时默认打开附加选项等功能
  17. Docker与Jib(maven插件版)实战
  18. iTerm2 + oh-my-zsh + powerlevel9k 打造你喜欢的编码终端
  19. 要数字孪生实现,你只需这款数据可视化大屏软件就够了
  20. sql跳过非工作日(周末和节假日)——转载

热门文章

  1. uni-app mqtt api 详解(不包含5.0版本)
  2. 游戏编程资料合集(持续更新)
  3. java基础48 IO流技术(序列流)
  4. python plot 增加标记线,matplotlib初学:这样画折线图和添加标注、箭头
  5. 禁止查看写好的宏_??智能作业灯T5体验:不在孩子身边,也能辅导小朋友写作业...
  6. HCIA-H12-811(1-50)
  7. 世界互联网大会,马云、马化腾、库克、李彦宏都说了一件事
  8. 点餐系统后台服务器部署,Java后台——点餐小程序在服务器上运行点餐系统供别人访问...
  9. vite 项目初始化(ts)
  10. IDL 文本编码、代码补全快捷方式、IDL doc、格式器、行号显示设置