pandas - 熊猫仅在非 nan 时减去列值
问题描述
我有一个数据框df
如下,大约有 200 列:
Date Run_1 Run_295 Prc
2/1/2020 3
2/2/2020 2 6
2/3/2020 5 2
我只想在列非南或非空时Prc
从列中减去列,以获得以下信息:Run_1 Run_295 Run_300
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)
解决方案
你可以简单地减去它。它完全符合您的要求:
df.Run_1-df.Prc
这是您的输出的完整代码:
df.Run_1= df.Run_1-df.Prc
df.Run_295= df.Run_295-df.Prc
df.drop('Prc', axis=1, inplace=True)
df
Date Run_1 Run_295
0 2/1/2020 NaN NaN
1 2/2/2020 -4.0 NaN
2 2/3/2020 NaN 3.0
推荐阅读
- testing - BackstopJS 测试整个应用程序页面
- cors - 获取 blob Google Photos API 媒体项目
- javascript - 将对象的特定属性与 JavaScript 合并在一起
- vba - MS Access 过滤问题
- ios - “未加载库 - 未找到合适的图像”错误
- google-cloud-bigtable - (BigTable Query, java API) 如何同时使用scan和rowKey?
- javascript - 带有弹出窗口和缩放到引脚的传单聚类标记在相同的纬度 lng 时关闭引脚
- angular - 如何使用 Ionic 4 从 ng-otp-input 获取和路由 otp 的编号?
- javascript - 当复选框为真时向元素添加文本
- javascript - Javascript - 素数函数问题,内存过载