Python - Pandas 如何新增数据列_python pandas 增加一列-程序员宅基地

技术标签: python  Pandas  

本文摘要:

新增数据列
1.直接赋值
2.df.apply方法
3.df.assgin方法
4.按条件选择分组分别赋值

直接赋值

例子续接上回

# df['High']、df['Low']其实是两个Series,相减返回仍是Series
# 此处'High-Low'是要新增的新列名,新列数据为df表每行的High列和Low列的高低差
df.loc[:, 'High-Low'] = df['High'] - df['Low']

df.apply方法

下面示例:
新增一个’wendu_type’列,表示温度类型:
1.如果High大于33则为高温
2.Low小于10则为低温
3.否则为常温

df.apply(func, axis) 返回一个Series对象,axis=0则用df的行索引index作为返回对象的索引,当axis=1则用df的列索引columns作为返回对象的索引。(2022.4.25补充:若需向函数传递参数,可用位置参数args=(xxx,),是个元组。)
对axis参数有疑惑可参考鄙人的另一篇小文章帮助理解:Python - Pandas 经常用到的axis参数怎么理解?千层蛋糕

def get_wendu_type(x):
	if x['High'] > 33:
		return '高温'
	elif x['Low'] < 10:
		return '低温'
	else:
		return '常温'

# 此处axis=1,Series的index为colums
df.loc[:, 'wendu_type'] = df.apply(get_wendu_type, axis=1)

# 查看温度类型的计数,会对该列进行分组统计
df['wendu_type'].value_counts()
# 返回一个Series
# 高温 137
# 常温 123
# 低温 66
# Name:wendu_type, dtype: int64

df.assign方法

该方法不修改df本身,返回一个新的DataFrame
该方法可以同时新增多列

df.assign(
	Higher = lambda x: x['High'] + 1
	Lower = lambda x: x['Low'] - 1 
)

2022.5.12 新增assign传参方法,如下:
在使用过程中,发现用上面的方法,参数固定写死了,无法灵活改变新增列名。
可以通过字典解包传参,代码如下:

# 这里的Higher,Lower都可以通过输入或读文件等方式传入,较灵活。
dic = {
    
    'Higher': lambda x: x['High'] + 1,
    'Lower': lambda x: x['High'] - 1,
}

new_df = df.assign(**dic)

不了解*,**打包解包的同学可以参考:python中*和**的打包和解包


按条件选择分组分别赋值

# 直接赋值新增列,给个默认值,会广播到所有行
df['new'] = ''  # 可以是任意默认值 1、''、'x'等

df.loc[df['High'] - df['Low'] > 10, 'new'] = '差别大'

df.loc[df['High'] - df['Low'] <= 10, 'new'] = '差别小'

df['new'].value_counts()
# 返回
# 差别大 130
# 差别小 100
# Name:new, dtype:int64

*此文仅为个人笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/DreamingBetter/article/details/123753991

智能推荐

7-10 集合划分 (10 分)_7个元素的集合有多少种划分-程序员宅基地

文章浏览阅读973次,点赞3次,收藏3次。当n=4 时,集合{1,2,3,4}可以划分为15个不同的非空子集如下:{{1},{2},{3},{4}},{{1,2},{3},{4}},{{1,3},{2},{4}},{{1,4},{2},{3}},{{2,3},{1},{4}},{{2,4},{1},{3}},{{3,4},{1},{2}},{{1,2},{3,4}},{{1,3},{2,4}},{{1,4},{2,3}},{{1,2,3},{4}},{{1,2,4},{3}},{{1,3,4},{2}},{{2,3,4}_7个元素的集合有多少种划分

全网唯一的echarts树状图——单个节点样式修改_echarts 怎么在修改节点文本使用dom模板-程序员宅基地

文章浏览阅读6.2k次,点赞3次,收藏11次。前段时间一直在用Echarts做一个树状图,本来是挺简单的,Echarts官网也有,不过官网上的节点数据是封装在一个Json文件中去,这里就不再赘述,有兴趣自行去官网查看链接:https://echarts.apache.org/examples/zh/editor.html?c=tree-basicJson数据链接:https://echarts.apache.org/examples/da..._echarts 怎么在修改节点文本使用dom模板

php include传参数,解决PHP的include带参数的有关问题-程序员宅基地

文章浏览阅读1k次。php的include可以载入一个外部php文件,其参数是一个文件名,既然是文件名,就不能带参数了。php中,如果include载入的文件一定要带参数,就只有一种办法,即这个参数是一个全路径的URL地址。例如:include "http://localhost/aaa.php?id=1"; //正确include "aaa.php?id=1"; //错误其实include本义就只是用来载入一个外部..._php include 传参

iOS越狱开发 常用检测Hook 代码 闪退检测断点_ios hook exit-程序员宅基地

文章浏览阅读1.8k次。__attribute__((constructor)) static void entry(){ rebind_symbols((struct rebinding[1]){{"abort", abort_hook, (void *)&abort_old}}, 1); rebind_symbols((struct rebinding[2]){{"exit", ..._ios hook exit

python转dll_python调用dll方法-程序员宅基地

文章浏览阅读376次。【转载】python调用dll方法python调用dll方法来自http://blog.csdn.net/lf8289/article/details/2322550分类:python2008-04-2412:276833人阅读评论(6)收藏举报在python中调用dll文件中的接口比较简单,实例代码如下:如我们有一个test.dll文件,内部定义如下:extern"C"{int__st..._python 转dll 第三方库

hihocoder 1388 Periodic Signal FFT-程序员宅基地

文章浏览阅读204次。最近做了几个FFT的题,实在是如果不记录一下就转头忘了 T T传送门题意:求思路:将上式拆开,那么就变成了,前两项都是固定的值那么我们求的最大值就可以了,n的数据范围为6*1e4,所以要用FFT优化下面是我现在的理解,如果有错还恰巧被大佬看到了,求指出T T如果有两个数组:A:1到n-1;B:1到m-1那么得到的卷积C:1到m+n-2,其中,注意这里

随便推点

JAVA-扫描局域网、自定义网段IP加端口在线设备_局域网设备扫描 java-程序员宅基地

文章浏览阅读4.6k次。JAVA-扫描局域网、自定义网段IP加端口在线设备_局域网设备扫描 java

《C语言及程序设计》实践参考——M$pszi$y是嘛意思-程序员宅基地

文章浏览阅读159次。返回:贺老师课程教学链接实践要求【项目1-M$pszi$y是嘛意思?】背景:小明让同学传纸条给小丽。小丽接到会心一笑,大家却不知所云。纸条上写着M$pszi$y,两人暗中约定是,真实字符为实际字符前面的第4个!M$pszi$y是神马意思?推算一下,或从ASCII码表中查一下,自然是I love u。(1)小明请你写一个程序,在给小丽写情书时,再不..._m$是哪编程语言的语法

MBUS应用笔记/主站-程序员宅基地

文章浏览阅读422次。MBUS主站,TSS721,SSP721_mbus

基于springboot旅游网站_基于springboot的旅游网站-程序员宅基地

文章浏览阅读849次。功能模块:旅游路线、旅游景点、旅游酒店、旅游车票、旅游保险、旅游策略、订单管理、留言管理、数据分析等等。实现了在线预订、统计数据分析等功能。技术路线:springboot、springmvc、maven、layui、mybatis数据库:MySQL系统录屏:链接: https://pan.baidu.com/s/1C519vCBP66ZaoDuEHSYxfw 提取码: gxui首页:后端系统:..._基于springboot的旅游网站

qiankun(乾坤)微前端框架简介_乾坤框架-程序员宅基地

文章浏览阅读4k次,点赞10次,收藏14次。qiankun(乾坤)微前端框架简介_乾坤框架

【图神经网络】 - GNN的几个模型及论文解析(NN4G、GAT、GCN)-程序员宅基地

文章浏览阅读1.3k次,点赞19次,收藏31次。图神经网络(Graph Neural Network,GNN)是指使用神经网络来学习图结构数据,提取和发掘图结构数据中的特征和模式,满足聚类、分类、预测、分割、生成等图学习任务需求的算法总称。

推荐文章

热门文章

相关标签