返回顶部
首页 > 资讯 > 精选 >与pandas有条件合并
  • 283
分享到

与pandas有条件合并

2024-02-22 13:02:02 283人浏览 独家记忆
摘要

问题内容 我有一个 pandas 数据框,如下所示,其中详细说明了对某个区域的其他调用: commsdate area day0 incremental day1 increme

问题内容

我有一个 pandas 数据框,如下所示,其中详细说明了对某个区域的其他调用:

commsdate area day0 incremental day1 incremental day2 incremental
01/01/24 sales 43 36 29
01/01/24 service 85 74 66
02/01/24 sales 56 42 31
02/01/24 service 73 62 49
03/01/24 sales 48 32 24
03/01/24 service 67 58 46

我正在尝试按日期计算收到的电话数量,因此 1 月 1 日收到的销售电话将是该日期的 day0_incremental (43),1 月 2 日将是 1 月 2 日的 day0 加上 1 月 1 日的 day1 (36+) 56) 和 1 月 3 日将是 1 月 3 日的 day0 加上 1 月 2 日的 day1 加上 1 月 1 日的 day2 (48+42+29),产生以下数据框:

CallDate Sales Service
01/01/24 43 85
02/01/24 92 147
03/01/24 119 195
04/01/24 63 107
05/01/24 24 46

我已经成功地为第二个表创建了数据框的外壳,在区域列下没有值,但不知道接下来的步骤:

df['commsdate'] = pd.to_datetime(df['commsdate'], fORMat='%d/%m/%y')
areaunique = df['area'].unique().tolist()
from datetime import timedelta
calldate = pd.date_range(start=min(df['commsdate']), end=max(df['commsdate'])+timedelta(days=6), freq='d')

data = {area: [] for area in areaunique}

dfnew = pd.dataframe(data)

dfnew['calldate'] = calldate

dfnew = dfnew.melt(id_vars=['calldate'], var_name='area')

dfnew = dfnew.pivot(index='calldate', columns='area', values='value')

dfnew = dfnew.reset_index()

dfnew = dfnew[['calldate'] + areaunique]

我已经开始编写 for 循环,但我只做到了这一点:

for i in range(1,len(areaunique)+1):
    dfnew.columns(i) =


正确答案


您可以拨打pivotshiftadd

df['commsdate'] = pd.to_datetime(df['commsdate'], dayfirst=true)
tmp = df.pivot(index='commsdate', columns='area')

out = (tmp['day0 incremental']
       .add(tmp['day1 incremental'].shift(freq='1d'), fill_value=0)
       .add(tmp['day2 incremental'].shift(freq='2d'), fill_value=0)
       .reset_index().rename_axis(columns=none)
      )

或者,使用从 dayx … 字符串中提取的数字以编程方式使用 functools.reduce

from functools import reduce
import re

reg = re.compile(r'day(\d+)')

df['commsdate'] = pd.to_datetime(df['commsdate'], dayfirst=true)
tmp = df.pivot(index='commsdate', columns='area')

out = reduce(lambda a,b: a.add(b, fill_value=0),
             (tmp[d].shift(freq=f'{reg.search(d).group(1)}d') for d in
              tmp.columns.get_level_values(0).unique())
            ).reset_index().rename_axis(columns=none)

输出:

CommsDate  Sales  Service
0 2024-01-01   43.0     85.0
1 2024-01-02   92.0    147.0
2 2024-01-03  119.0    195.0
3 2024-01-04   63.0    107.0
4 2024-01-05   24.0     46.0

以上就是与pandas有条件合并的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 与pandas有条件合并

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

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

猜你喜欢
  • 与pandas有条件合并
    问题内容 我有一个 pandas 数据框,如下所示,其中详细说明了对某个区域的其他调用: commsdate area day0 incremental day1 increme...
    99+
    2024-02-22
  • Pandas条件筛选与组合筛选的使用
    目录条件筛选组合筛选在使用pandas进行数据分析时,经常需要根据逻辑条件来筛选数据。 如果使用 for循环语句 遍历的方式来查找,将十分耗时。 推荐使用pandas自身的功能函数进...
    99+
    2023-01-16
    Pandas条件筛选 Pandas 组合筛选 Pandas条件筛选 组合筛选
  • Python Pandas的concat合并
    目录使用场景concat语法append语法案例演示使用场景 批量合并相同格式的Exce,给DataFrame添加行,给DataFrame添加列 使用说明: 1.使用某种合并方式(i...
    99+
    2024-04-02
  • python pandas中如何实现合并与拼接
    小编给大家分享一下python pandas中如何实现合并与拼接,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!前言在许多应用中,数据可能来自不同的渠道,在数据处理的过程中常常需要将这些数据集进行组合合并拼接,形成...
    99+
    2023-06-29
  • pandas数据的合并与拼接的实现
    目录1.Merge方法1.1内连接1.2外连接1.3左连接1.4右连接1.5基于多列的连接算法1.6基于index的连接方法2.join方法3.concat方法3.1series类型...
    99+
    2024-04-02
  • Pandas实现Dataframe的合并
    目录简介使用concat使用append使用merge使用join覆盖数据简介 Pandas提供了很多合并Series和Dataframe的强大的功能,通过这些功能可以方便的进行数据...
    99+
    2024-04-02
  • pandas如何实现数据的合并与拼接
    这篇文章将为大家详细讲解有关pandas如何实现数据的合并与拼接,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Pandas包的merge、join、concat方法可以完成数据的合并和拼接,merge方法...
    99+
    2023-06-21
  • Python中Pandas数据合并方法有哪些
    这篇文章主要介绍“Python中Pandas数据合并方法有哪些”,在日常操作中,相信很多人在Python中Pandas数据合并方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中Pandas...
    99+
    2023-06-21
  • Python中Pandas数据合并函数有哪些
    这篇文章主要介绍Python中Pandas数据合并函数有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. concatconcat是pandas中专门用于数据连接合并的函数,功能非常强大,支持纵向合并和横向合并...
    99+
    2023-06-29
  • python pandas数据处理教程之合并与拼接
    目录前言一、join1、left join2、right join3、inner join4、out join二、merge三、concat1、纵向合并2、横向合并四、append1...
    99+
    2024-04-02
  • Python Pandas条件筛选功能
    目录一、准备数据二、以>,<,==,>=,<=来进行选择三、.isin()四、.str.contains()实现一、准备数据 import pandas as...
    99+
    2024-04-02
  • 利用python Pandas实现批量拆分Excel与合并Excel
    目录一、实例演示二、读取源Excel到Pandas三、将一个大Excel等份拆成多个Excel四、合并多个小Excel到一个大Excel一、实例演示 将一个大Excel等份拆成多个Excel 2.将多个小Excel合...
    99+
    2022-06-02
    Pandas批量拆分Excel pandas批量合并Excel python pandas
  • Python基础之pandas数据合并
    一、concat concat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合 pd.concat(objs, axis=0, join='outer', join_axes=None...
    99+
    2022-06-02
    Python pandas数据合并 Python pandas
  • pandas中DataFrame数据合并、连接
    为解决数据冗余等问题,大量的数据会分开存放在不同的文件(表格)里。在数据处理时,经常会有不同表格的数据需要进行合并操作。可以通过pandas库的merge函数和concat函数来实现数据集的合并。 1、DataFrame数据合并—merg...
    99+
    2023-09-17
    pandas 数据分析 python Powered by 金山文档
  • Pandas merge怎么合并两个DataFram
    这篇文章主要介绍“Pandas merge怎么合并两个DataFram”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Pandas merge怎么合并两个DataFram”文章能帮...
    99+
    2023-07-05
  • Python怎么读写txt文件和转换csv文件与pandas条件
    这篇文章主要介绍“Python怎么读写txt文件和转换csv文件与pandas条件”,在日常操作中,相信很多人在Python怎么读写txt文件和转换csv文件与pandas条件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-06-02
  • python pandas遍历每行并累加进行条件过滤方式
    目录pandas遍历每行并累加进行条件过滤python DataFrame遍历1.DataFrame.iterrows()       2.D...
    99+
    2024-04-02
  • python pandas怎么遍历每行并累加进行条件过滤
    今天小编给大家分享一下python pandas怎么遍历每行并累加进行条件过滤的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2023-06-30
  • Pandas实现批量拆分与合并Excel的示例代码
    目录前言一、拆分成小表格二、合并excel1.介绍2.代码前言 提示:这里可以添加本文要记录的大概内容: 将一个EXCEL等份拆成多个EXCEL 将多个小EXCEL合并成一个大EXC...
    99+
    2024-04-02
  • 聚合函数与条件筛选的结合技巧
    在使用聚合函数时,可以结合条件筛选来筛选需要计算的数据,以获得更精确的结果。以下是一些结合聚合函数和条件筛选的技巧: 使用IF函数进行条件筛选: 在聚合函数中,可以使用IF函数来进行条件筛选,只计算符合条件的数据。比如,计算某个字段中值...
    99+
    2024-08-03
    sql server
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作