【发布时间】:2020-05-16 10:44:07
【问题描述】:
我有一个数据框df 如下,大约有 200 列:
Date Run_1 Run_295 Prc
2/1/2020 3
2/2/2020 2 6
2/3/2020 5 2
我想从列Run_1 Run_295 Run_300 中减去列Prc,只有当它们是非Nan 或非空时,才能得到以下结果:
Date Run_1 Run_295
2/1/2020
2/2/2020 -4
2/3/2020 3
我不确定如何进行上述操作。
重现数据框的代码:
import pandas as pd
from io import StringIO
s = """Date,Run_1,Run_295,Prc
2/1/2020,,,3
2/2/2020,2,,6
2/3/2020,,5,2"""
df = pd.read_csv(StringIO(s))
print(df)
【问题讨论】:
-
您是否总是希望减去最后一列,并且始终将日期列作为您要执行此操作的第一列?
-
不,我有列名,所以 Prc 是需要减去的名称
-
你可以试试:
m = df.set_index('Date')然后final = m.drop('Prc',1).sub(m['Prc'],axis=0).reset_index()吗?
标签: pandas python-3.5