Python学习笔记

您所在的位置:网站首页 python新增一行数据 Python学习笔记

Python学习笔记

2023-08-14 19:09| 来源: 网络整理| 查看: 265

Python学习笔记 – Pyhthon pandas 如何基于一列或多列运算并生成新的列

在数据处理中,通过前面几列的运算生成一个新列。 最常见的例子是计算成绩 : )

1.eval() eval是最直接的 举个栗子: 我们这里就用最常见需要增加列的情景之一 成绩统计~ 已经有每一门学科的成绩,需要在最后新增一列总分:

df = pd.DataFrame({'math':[89,78,83],'physics':[76,84,96],'chemistry':[87,81,92]}) df.index =["tom","mark","ann"] print (df) df.eval('Total = math + physics + chemistry', inplace = True) print (df)

运行结果

此时通过运行结果可以看出,已经出现新的一列"Total" inplace参数表示是否在原数据上进行操作,如果inplace = Flase,则会生成新的DataFrame。

2.apply() apply来添加列也很常见好用 承接上面的例子,我们还想新增一列看看每个人的平均分:

df ["Ave"] = df.Total.apply(lambda x: round(x/3))

运行结果 这里的"x"是指Total列的值,也可以写成 df[“Total”].apply 通过运行结果可以看出已经增加新的一列"Ave"

3.map() 还有一种情况用map可以解决。如果涉及到需要使用多个条件语句的时候(如在成绩中需要分出优良中差),用前面两种方法会显得在括号里面的内容过多,导致代码看着比较乱,这时用map就相对清晰明了(ง •_•)ง

def total_allocate(n): if n > 270: return "excellent job" elif 250


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3