精华内容
下载资源
问答
  • pd.DataFrame([stocks, same1, positions, same2, diff]).T df This gives a pandas DataFrame that looks like stock same1 positions same2 different 0 A AA 100 AAA A1 1 A AA 200 AAA A2 2 B BB 300 BBB B3 3 C...

    I have a DataFrame of records that looks something like this:

    stocks = pd.Series(['A', 'A', 'B', 'C', 'C'], name = 'stock')

    positions = pd.Series([ 100, 200, 300, 400, 500], name = 'positions')

    same1 = pd.Series(['AA', 'AA', 'BB', 'CC', 'CC'], name = 'same1')

    same2 = pd.Series(['AAA', 'AAA', 'BBB', 'CCC', 'CCC'], name = 'same2')

    diff = pd.Series(['A1', 'A2', 'B3' ,'C1', 'C2'], name = 'different')

    df = pd.DataFrame([stocks, same1, positions, same2, diff]).T

    df

    This gives a pandas DataFrame that looks like

    stock same1 positions same2 different

    0 A AA 100 AAA A1

    1 A AA 200 AAA A2

    2 B BB 300 BBB B3

    3 C CC 400 CCC C1

    4 C CC 500 CCC C2

    I'm not interested in the data in 'different' columns and want to sum the positions along the unique other columns. I am currently doing it by:

    df.groupby(['stock','same1','same2'])['positions'].sum()

    which gives:

    stock same1 same2

    A AA AAA 300

    B BB BBB 300

    C CC CCC 900

    Name: positions

    Problem is that this is a pd.Series (with Multi-Index). Currently I iterate over it to build a DataFrame again. I am sure that I am missing a method. Basically I want to drop 1 column from a DataFrame and then "rebuild it" so that one column is summed and the rest of the fields (which are the same) stay in place.

    This groupby method breaks if there are empty positions. So I currently use an elaborate iteration over the DataFrame to build a new one. Is there a better approach?

    解决方案

    Step 1. Use [['positions']] instead of ['positions']:

    In [30]: df2 = df.groupby(['stock','same1','same2'])[['positions']].sum()

    In [31]: df2

    Out[31]:

    positions

    stock same1 same2

    A AA AAA 300

    B BB BBB 300

    C CC CCC 900

    Step 2. And then use reset_index to move the index back to the column

    In [34]: df2.reset_index()

    Out[34]:

    stock same1 same2 positions

    0 A AA AAA 300

    1 B BB BBB 300

    2 C CC CCC 900

    EDIT

    Seems my method is not so good.

    Thanks to @Andy and @unutbu , you can achieve your goal by more elegant ways:

    method 1:

    df.groupby(['stock', 'same1', 'same2'])['positions'].sum().reset_index()

    method 2:

    df.groupby(['stock', 'same1', 'same2'], as_index=False)['positions'].sum()

    展开全文
  • Pandas 遍历求和

    万次阅读 2020-09-26 20:27:16
    Pandas 遍历求和Pandas 生成一列是另一列的逐行累加结果 import numpy import pandas from pandas import DataFrame cash = pandas.read_csv('./data.csv') cash 银行 编号 收入/支出 0 ...

    Pandas 遍历行并求和

    用 Pandas 生成一列是另一列的逐行累加结果

    import numpy
    import pandas
    from pandas import DataFrame
    cash = pandas.read_csv('./data.csv')
    cash
    银行编号收入/支出
    0中国工商银行001/202010000
    1中国工商银行002/202050000
    2中国工商银行003/2020-30000
    3中国工商银行004/202090000
    4中国工商银行005/202010000
    cash.loc[:, '动态结余'] = cash.loc[:, '收入/支出'].cumsum()
    cash
    银行编号收入/支出动态结余
    0中国工商银行001/20201000010000
    1中国工商银行002/20205000060000
    2中国工商银行003/2020-3000030000
    3中国工商银行004/202090000120000
    4中国工商银行005/202010000130000
    展开全文
  • 简单socket()编程客户端: 1.socket( int af, int type, int protocol) socket()函数...如何让Log4net日志文件按月归成一个文件夹,StaticLogFileName参数的用法想要让Log4net日志(以下称日志)...

    简单socket()编程

    客户端: 1.socket( int af, int type, int protocol) socket()函数用于根据指定的地址族.数据类型和协议来分配一个套接口的描述字及其所用的资源.如果协议p ...

    如何让Log4net日志文件按每月归成一个文件夹,StaticLogFileName参数的用法

    想要让Log4net日志(以下称日志)按每月自动归类为一个文件夹,为此,学习和修改了log4net.config文件.查了资料,重点是以下这些参数:     

    更好的逐帧动画函数 — requestAnimationFrame 简介

    本文将会简单讲讲 requestAnimationFrame 函数的用法,与 setTimeout/setInterval 的区别和联系,以及当标签页隐藏时 requestAnimationFrame ...

    html readme

    取html页面高度 document.documentElement.scrollHeight在IE和Chrome下,可以正常取到合适的全文高度,但是firefox下取到的则过高: 用document ...

    实例讲解webpack的基本使用第二篇

    这一篇来讲解一下如何设置webpack的配置文件webpack.config.js 我们新建一个webpack-demo的项目文件夹,然后安装webpack 执行如下命令 在项目文件夹下,建一个dis ...

    Python 一键commit文件、目录到SVN服务器

    一键commit文件.目录到SVN服务器   by:授客 QQ:1033553122 实现功能 1 测试环境 1 代码show 1   实现功能 一键提交文件.目录到svn 测试环境 Win7 64位 ...

    linux对4T硬盘进行分区

    使用parted工具: yum install parted parted /dev/sdb //选择硬盘 GNUParted 2.3Using /dev/sdbWelcome to GNU Part ...

    趣谈生成函数 =v=

    趣谈生成函数 =v= 今天luyouqi在洛谷随机跳题rand出来一道生成函数板子题,然后我给做了(雾 发现小伙伴们还不会生成函数,于是我试着写这篇生成函数简介.(其实我也不怎么会生成函数这么高级的东 ...

    树莓派编译安装opencv3 (2019.1.6更新)

    一.更新系统 sudo apt-get update sudo apt-get upgrade sudo rpi-update #重启系统 sudo reboot 二.安装依赖库及程序 sudo ap ...

    Excel作为数据源TesTNG做数据驱动完整代码

    说明:EXCEL 支持xls 和xlsx 俩种格式 : 已经过测试 ! package main.java; import org.apache.poi.ss.usermodel.*; import ...

    展开全文
  • 今天小编就为大家分享一篇python 使用pandas计算累积求和的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Pandas按行列求和

    万次阅读 2019-03-06 15:16:01
    #按行求和 df['row_sum'] = df.apply(lambda x: x.sum(), axis=1) #按列求和 df.loc['col_sum'] = df.apply(lambda x: x.sum())
    #按行求和
    df['row_sum'] = df.apply(lambda x: x.sum(), axis=1)
    
    #按列求和
    df.loc['col_sum'] = df.apply(lambda x: x.sum())
    
    #或者
    df.loc['col_sum'] = limit_data1.sum()
    
    df['row_sum'] = df.sum(axis=1)
    
    #.sum()的方法确实快一点点,随便拿了一份60w左右的数据测试了一下

    按列求和并追加到最后一行 100次

    sum方法快了0.02秒左右

    按行求和速度应该快很多,因为apply方法跑了几秒没出来我就没跑了,sum方法是0.06秒左右。

    展开全文
  • pandas对列求和

    2020-09-28 14:12:00
    使用pandas把列表中的字典元素转成二维数组,然后使用pandas函数实现对一列求和。 代码: import pandas as pd datas = [ {'学生': '小红', '语文': None, '数学': 89.5, '英语': 99, '物理':70, 'active': False...
  • pandas DataFrame 分组求和

    万次阅读 2019-09-08 14:51:21
    new_series = df.groupby(by=['a'])['b'].sum() # 意思是对字段a进行分组然后通过字段B进行求和汇总 # 返回Series类型对象。 a会变成index b则成为值
  • python pandas行、列求和及累加求和data[‘合计’]=data.apply(lambda x: x.sum(),axis=1) #按列相加各行数data.loc[‘小计’]=data.apply(lambda x: x.sum(),axis=0) #按相加各列,增加小计,要注意的是小计中变成...
  • python pandas行、列求和及累加求和

    万次阅读 2020-03-20 20:38:07
    python pandas行、列求和及累加求和 data[‘合计’]=data.apply(lambda x: x.sum(),axis=1) #按列相加各数 data.loc[‘小计’]=data.apply(lambda x: x.sum(),axis=0) #按相加各列,增加小计, 要注意的是小计中...
  • Pandas DataFrame 分组求和、分组乘积

    千次阅读 2020-05-25 20:42:48
    import pandas as pd pd.set_option('display.max_columns', 10) # 删除空数据 def DropNan(data_qd): for i in range(len(data_qd)): if np.isnan(data_qd['test_uniq_cnt'][i]) or \ np.isnan(data_qd['fail_...
  • pandas按列、行求和

    万次阅读 2019-09-15 17:24:18
    用透视表创建的表格 df_pt = pd.pivot_table(table,index=["渠道"],values =['推广', 'E类', '0-17岁', '18-23岁', '24-30岁', ...现在想要对L,Y渠道的个类别的数据求和,即按行求和 df_pt[...
  • python 使用pandas计算累积求和

    万次阅读 2018-10-21 13:22:22
    使用pandas下的cumsum函数 cumsum:计算轴向元素累积加和,返回由中间结果组成的数组.重点就是返回值是"由中间结果组成的数组" import numpy as np ''' arr是一个2*2*3三维矩阵,索引值为0,1,2 cumsum...
  • 计算各数据总和并作为新列添加到末尾 ...df['Row_sum'] = df.apply(lambda x: x.sum(), axis=1) # 按行求和,添加为新列 df.loc['Col_sum'] = df.apply(lambda x: x.sum()) # 各列求和,添加新的 df 输出:
  • 现在有一组数据已经用pandas读取(上表左边空白底色数据), 现在要按照右面粉色底色的数据的逻辑依次求和,求代码。 依次求和逻辑详细描述: 第1列(2021-01)至第6...
  • pandas dataframe按或列求和

    千次阅读 2021-04-11 10:38:03
    文章目录生成数据按行求和按列求和 生成数据 import pandas as pd df: pd.DataFrame = pd.DataFrame([ [1, 4.2], [70, 0.03], [5, 0] ], columns=['one', 'two']) one two 0 1 4.2 1 70 0.03 2 5 ...
  • Are there single functions in pandas to perform the equivalents of SUMIF, which sums over a specific condition and COUNTIF, which counts values of specific conditions from Excel?I know that there are ...
  • Pandas求和

    2017-11-30 13:57:12
    import pandas as pd import matplotlib import matplotlib.pyplot as plt data = pd.read_csv('t_order.csv') print(data.head()) 接下来将日期列转化为时间格式、设置日期索引,再对数据按照shop_id分组,对sale...
  • pandas 合并求和出现列减少,原因是里面有字符串。可以把减少的列转换为int类型,查看是否不能替换,检查出错如1,092把,替换掉。然后在转换为int类型,然后在看是否能转换,直到转换成功为止。 结论:groubpy()[]....
  • pandas某列某累计求和——cumsum

    千次阅读 2019-11-25 22:57:59
    pandas某列某累计求和——cumsum 碰到需要求股票某段时间的累计收益,利用cumsum进行: import pandas as pd data = pd.DataFrame(np.arange(6).reshape(6,1)) data.columns = ['a'] data['cumsum'] = data['a']....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,492
精华内容 3,796
关键字:

pandas每行求和