python如何实现pandas 中两行相加
本帖最后由 ymhld 于 2020-5-16 15:00 编辑如何实现两行直接相加
列的会,data['列1']=data['列2']+data['列3']
有没有行直接相加的方法
如下代码也能实现N1+N2
import pandas as pd
chengji = [['N', 95,0], ['N', 100,88], ['N', 88,100],['N', 66,0]]
data=pd.DataFrame(chengji ,columns=['p','x','g'])
data1=data[['p','x']].copy()
data1['p']=data1.index.map(lambda x:"N"+str(x+1))
print(data1)
data.loc[:,'p']=data.index.map(lambda x:"N"+str(x+1))
# print(data)
# data.columns=['p','营业成本本年累计','营业收入本年累计',]
# print(data)
# data['Q']=0
# data.loc!=0,'Q']=data['营业成本本年累计']/data['营业收入本年累计']
print(data)
heji=['N1+N2',['N1','N2']]
print(data.loc.isin(heji)])
data.loc]=data.loc.isin(heji)].sum()
data.loc,'p']=heji
print(data)
data.drop(data['p'].isin(heji),inplace=True)
print(data)
可以goupby吗,再用聚合函数 zyzs010 发表于 2020-5-16 11:03
可以goupby吗,再用聚合函数
想法是直接相加,有没有办法 ymhld 发表于 2020-5-16 11:04
想法是直接相加,有没有办法
我对这也不熟悉,我感觉是可以的,numpy里面两个一维数组直接相加还是一个一维数组。 zyzs010 发表于 2020-5-16 11:16
我对这也不熟悉,我感觉是可以的,numpy里面两个一维数组直接相加还是一个一维数组。
不是数组相加,是两行相加,不知道怎么弄 ymhld 发表于 2020-5-16 11:27
不是数组相加,是两行相加,不知道怎么弄
将原矩阵转置,行列互换后进行列相加,应该就可以实现原矩阵的行相加。 制冷设备 发表于 2020-5-16 11:59
将原矩阵转置,行列互换后进行列相加,应该就可以实现原矩阵的行相加。
这方法倒是能实现,还有没有直接行相加的办法呢 如果是相隔等距的行做运算(比如算同比),直接用 shift方法就行
https://www.jb51.net/article/150937.htm
不规则的话,那就多用几次shift :lol rsnodame 发表于 2020-5-16 14:47
如果是相隔等距的行做运算(比如算同比),直接用 shift方法就行
https://www.jb51.net/article/150937.ht ...
不规则的,因为是要汇总两行,然后把原来的去掉 # 第0行 = 第0行 + 第1行
df.loc = df.loc + df.loc
这样行不?