df添加一行 python_Python之pandas实现更复杂的Excel操作

这篇博客探讨了如何使用Python的pandas库进行更复杂的Excel操作,特别是聚焦于如何通过append方法向DataFrame添加新的行。文中通过两种方法展示了添加行的技巧,并提供了实例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

eb83f8bd865764a922f7696fb8415a94.png f8e5c54666bb85d6e5330c15731df20e.png

◆ ◆ ◆  ◆ ◆

我是需求

有人问了我一个这样的问题,题目是:……。直接上图吧~

db521c67766592185bd117bec3eaa6db.png总之一句话,给我 求出每名同学两次模拟考试的成绩涨跌情况我来安排 1.造点假数据
import pandas as pddata = {'考试':['一模','二模','一模','二模','一模','二模'],        '姓名':['张三','张三','李四','李四','王五','王五'],        '语文':[78,75,68,72,80,82],        '数学':[90,95,78,76,100,92],        '英语':[85,82,78,76,86,93]}df = pd.DataFrame(data)df

e1b5f3f0b408b14eb712889b638961e3.png

#方法一#

2.1先分组求首尾数据之差
# 一定要深刻体会groupby后加的字段的不同delta = df.groupby('姓名')['考试','语文','数学','英语'].last() - df.groupby('姓名')['语文','数学','英语'].first()# 重设索引,使姓名列恢复列字段delta.reset_index(inplace = True)# 填充为对比,满足需求的每一个小细节delta.fillna('对比',inplace=True)# 输出瞧一瞧delta

1b4e4a503bf3275f7b65038e7dc2fdb5.png

3.1使用append添加结果进去
# 这种方式是可以设置ignore_index = Truedf.append(delta,ignore_index = True,sort = False).sort_values('姓名').reset_index(drop=True)

ede427392854cc1d0bff19730e0e309e.png

#方法二#

2.2先分组使用diff( )方法求差值
delta = df.groupby('姓名').diff().dropna()delta

0193888b9b98f2a139a5f42d52065aa0.png

3.2使用append添加结果进去

# 这种方式必须设置ignore_index = False,否则在索引排序时就会匹配不到结果df.append(delta,ignore_index = False,sort = False).sort_index().fillna({'考试':'对比'}).fillna(method = 'ffill')

28f2684f13d9311ccbf9ffcf51ce2a75.png

上图结果可以看到,我们利用了索引的一个排序,完成了差值的匹配。当然,可以使用重设索引来更新一下。好了,完成--!!! 5fd0a2a5b385853ed511818344f0b885.png 觉得精彩,记得点 在看 否则没有动力原创啊!跪谢~ 我是总结 本文讲解了这几大需要掌握的知识点: 1.深入理解分组聚合的众多妙处。 2.不同参数对结果的影响。 3.append方法,fillna方法,diff方法的使用。

-- END --

Python 进阶编程之字典的高级用法

Python实现行转列?!超简单,赶快get起来

Python一行命令生成数据分析报告

a78324afec3c2e52bce2de773e36cc19.png

在看”的永远18岁~ 8d25e3eefe2179aff654f092ff8c3f61.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值