iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中pandas操作apply返回多列的实现
  • 909
分享到

python中pandas操作apply返回多列的实现

2024-04-02 19:04:59 909人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录apply 返回多列生成新列多行操作举例我们可以用DataFrame的apply函数实现对多列,多行的操作。 需要记住的是,参数axis设为1是对列进行操作,参数axis设为0是

我们可以用DataFrame的apply函数实现对多列,多行的操作。

需要记住的是,参数axis设为1是对列进行操作,参数axis设为0是对行操作。默认是对行操作。

apply 返回多列

# height = [70, 90, 100, 120, 140, 160, 180, 200,220,240, 260] # 长度为 11
# df.shape   (1000, 11)
# 对df的每一行的每一个元素操作,然后再返回多列
#----------返回多列-----------------
df = df.apply(lambda x: pd.Series([math.atan(i[0]/(i[1])*180/math.pi for i in zip(height, x)]).astype(float), axis=1)
.rename(columns=dict(zip(list(range(0, 11)), df.columns)))

#df['slope'] = df_10min.apply(lambda x: math.atan(210 / (x['ws_260'] - x['ws_50'] + 1e-7))*180/math.pi, axis=1)
import pandas as pd
df_tmp = pd.DataFrame([
    {"a":"data1", "cnt":100},{"a":"data2", "cnt":200},
])

df_tmp
a    cnt
data1    100
data2    200

方法一:使用apply 的参数result_type 来处理
def fORMatrow(row):
    a = row["a"] + str(row["cnt"])
    b = str(row["cnt"]) + row["a"]
    return a, b 
 
df_tmp[["fomat1", "format2"]] = df_tmp.apply(formatrow, axis=1, result_type="expand")
df_tmp
a    cnt    fomat1    format2
data1    100    data1100    100data1
data2    200    data2200    200data2

方法一:使用zip打包返回结果来处理
df_tmp["fomat1-1"], df_tmp["format2-2"] = zip(*df_tmp.apply(formatrow, axis=1))
df_tmp
a    cnt    fomat1    format2    fomat1-1    format2-2
data1    100    data1100    100data1    data1100    100data1
data2    200    data2200    200data2    data2200    200data2

生成新列

现在有如下一个DataFrame:

np.random.seed(1)
df = pd.DataFrame(np.random.randn(4,2), columns=['A', 'B'])
df
>>>
       A    B
0    1.624345    -0.611756
1    -0.528172    -1.072969
2    0.865408    -2.301539
3    1.744812    -0.761207

对A, B两列操作,生成C列, 其中C是字符串,由A ± B组成。下面看一下结果就明白了。

df['C'] = df.apply(lambda x: '{:.2f}±{:.2f}'.format(x['A'], x['B']), axis=1)

看一下效果

    A    B    C
0    1.624345    -0.611756    1.62±-0.61
1    -0.528172    -1.072969    -0.53±-1.07
2    0.865408    -2.301539    0.87±-2.30
3    1.744812    -0.761207    1.74±-0.76

多行操作举例

同理可以作用在多行上。

# 对第 10 行进行操作,基于第2、3两行
df.loc[10] = df.apply(lambda x: '{:.2f}±{:.2f}'.format(x[2], x[3]) )

看一下实现的效果

       A    B
0    1.624345    -0.611756
1    -0.528172    -1.072969
2    0.865408    -2.301539
3    1.744812    -0.761207
10    0.87±1.74    -2.30±-0.76

参考链接

[1] pandas的DataFrame使用apply实现对多列,多行操作 2021.12
[2] pandas 的apply返回多列,并赋值 2020.4

到此这篇关于python中pandas操作apply返回多列的实现的文章就介绍到这了,更多相关pandas apply返回多列内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python中pandas操作apply返回多列的实现

本文链接: https://www.lsjlt.com/news/119877.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中pandas操作apply返回多列的实现
    目录apply 返回多列生成新列多行操作举例我们可以用DataFrame的apply函数实现对多列,多行的操作。 需要记住的是,参数axis设为1是对列进行操作,参数axis设为0是...
    99+
    2024-04-02
  • pandas中groupby操作实现
    目录一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤一、实验目的 熟练掌握pandas中的groupby操作 二、实验原理 groupby(by=None, axis=0...
    99+
    2023-02-13
    pandas groupby操作 pandas groupby
  • python中pandas对多列进行分组统计的实现
    使用groupby([ ]).size()统计的结果,值相同的字段值会不显示 如上图所示,第一个空着的行是982499 7 3388 1,因为此行与前面一行的这两个字段值是一样...
    99+
    2024-04-02
  • pandas中groupby操作如何实现
    本文小编为大家详细介绍“pandas中groupby操作如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“pandas中groupby操作如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、实验目的熟...
    99+
    2023-07-05
  • Pandas多列值合并成一列的实现
    在平时的需求开发中涉及到将多列值合并为一列值的操作,通过查阅相关资料特此记录以下方法,方便日后学习复盘  import pandas as pd import numpy ...
    99+
    2024-04-02
  • 怎么在python中实现序列操作
    今天就跟大家聊聊有关怎么在python中实现序列操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;...
    99+
    2023-06-14
  • 删除pandas中产生Unnamed:0列的操作
    我们在数据处理,往往不小心,pandas会“主动”加上行和列的名称,我现在就遇到了这个问题。 这个是pandas中to_csv生成的数据各种拼接之后的最终数据(默认参数,index=...
    99+
    2024-04-02
  • Python获取多进程执行的返回值实现
    目录方法-1.方法-2.众所周知,因为GIL的原因,Python至今不支持真正的多线程。为了达到并行运行的目的,我们往往就需要运行多进程了。一个任务由一个进程来运行,可是它的结果怎么...
    99+
    2023-03-06
    Python获取多进程执行的返回值 python多进程获取返回值
  • Python中列表的操作
    用中括号包含内容 可修改的数据类型 支持嵌套 支持索引、切片、乘加运算、成员检查、长度、最小值、最大值   列表赋值到变量 list1 = ['hello', 'world']   列表中追加内容 list1 = ['hell...
    99+
    2023-01-30
    操作 列表 Python
  • python中的列表操作
    列表:(list)容器类型:某个对象包含对其它对象的引用,则将其称为容器。列表可以包含任何种类的对象(数字、字串、甚至嵌套其他列表,可以嵌套元组)内部包含:任意对象的有序集合,通过索引访问其中的元素,可变对象,支持异构(包含多种不同的元素)...
    99+
    2023-01-31
    操作 列表 python
  • array_values()在php中返回数组的操作示例
    这篇文章给大家分享的是有关array_values()在php中返回数组的操作示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主...
    99+
    2023-06-14
  • splitlines在python中返回列表的示例分析
    这篇文章主要介绍splitlines在python中返回列表的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、说明splitlines()方法用于按照换行符(\r、\r\n、\n) 分割,返回一个是否包含换...
    99+
    2023-06-15
  • python怎么实现多线程并得到返回值
    这篇“python怎么实现多线程并得到返回值”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python怎么实现多线程并得到返...
    99+
    2023-06-30
  • Pandas中怎么实现SQL查询数据操作
    本篇文章给大家分享的是有关Pandas中怎么实现SQL查询数据操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. 选择行SELECT...
    99+
    2024-04-02
  • python包实现 retrying 重复回调操作
    目录一、安装二、一直请求三、设置最大运行次数四、设置重试的最大时间五、设置间隔时间六、设置随机间隔时间七、随机倍数间隔时间八、指定异常类型九、过滤回调十、异常执行一、安装 循环、重复...
    99+
    2024-04-02
  • Python实现数据的序列化操作详解
    目录Json 模块dumps()函数dump()函数loads()函数load()函数Pickle 模块dumps()函数dump()函数loads()函数load()函数总结​在日...
    99+
    2024-04-02
  • Python 之 Pandas DataFrame 数据类型的简介、创建的列操作
    文章目录 一、DataFrame 结构简介二、DataFrame 对象创建1. 使用普通列表创建2. 使用嵌套列表创建3 指定数值元素的数据类型为 float4. 字典嵌套列表创建5. 添加自...
    99+
    2023-08-31
    pandas python 数据分析
  • python中返回函数的作用是什么
    这期内容当中小编将会给大家带来有关python中返回函数的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无...
    99+
    2023-06-14
  • Python 平方列表中每个数字的多种操作
    map map(function,iterable) x = [1,2,3,4,5] def square(num): return num*num print(list(m...
    99+
    2024-04-02
  • Python中列表的基本操作
    本篇内容主要讲解“Python中列表的基本操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中列表的基本操作”吧!如何创建列表?列表是最常用的Python数据类型,它可以作为一个方括...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作