python-3.x - 使用条件减去两列
问题描述
我有两个日期列,我想根据条件减去这两列。首先检查第一列中的所有空格,然后检查第二列是否有空格,第三个条件检查减去的日期是否小于一个。如果满足这些条件,则执行两列的减法。像这样的东西:
'''if [Recommendation signed] = null or [Executed Date] = null or Duration.Days([Contract Executed Date]-[Recommendation signed]) < 1 then null else Duration.Days([Contract Executed Date]-[Recommendation签])'''
解决方案
您可以使用应用功能来做到这一点。例如,您想将该值存储到一个名为 的新列day difference
中。
确保这些是日期时间列(如果它们不是应用to_datetime
功能)。
df['Recommendation signed'] = pd.to_datetime(data['Recommendation signed']).dt.date
df['Executed Date'] = pd.to_datetime(data['Executed Date']).dt.date
df['Contract Executed Date'] = pd.to_datetime(data['Contract Executed Date']).dt.date
def substract_columns(row):
if pd.isnull(row['Recommendation signed']) or pd.isnull(row['Executed Date']) or ((row['Contract Executed Date'] - row['Recommendation signed']) == '0 days'):
return None
else:
row['Contract Executed Date'] - row['Recommendation signed']
df['day difference'] = df.apply(substract_columns, axis=1)
希望这可以帮助。
推荐阅读
- python-3.x - CNN-尝试使用 seaborn.heatmap 运行混淆矩阵
- c# - 在 IISIntegration 上运行 ASP.NET Core 应用程序时,Program.Main 会发生什么?
- c# - Azure 上缺少 mvc dll。怎么了?
- c - 找到一对数字的 4 次方等于输入数字
- javascript - 仅绘制 SVG 圆环图的底部
- linux - 需要有关 linux 中定期计时器的信息
- json - 解码包含转义双引号的字符串时,Json 解码器失败
- html - 对齐导航栏的问题
- qt - 在什么情况下会发出 QAbstractSocket::TemporaryError 信号?
- node.js - 我如何从 gcs 获得签名网址?