pandas - 时间天数计算-实现excel中IF(ROUNDDOWN(),,)函数

1.根据开始日和结束日计算天数

pandas - 时间天数计算-实现excel中IF(ROUNDDOWN(),,)函数_第1张图片

2.pandas 实现过程

import pandas as pd
#1.读取数据
df = pd.read_excel(r'./data/time.xlsx')
print(df)

pandas - 时间天数计算-实现excel中IF(ROUNDDOWN(),,)函数_第2张图片

#2.时间格式转换
df['开始日'] = pd.to_datetime(df['开始日'])
df['结束日'] = pd.to_datetime(df['结束日'])
print(df['开始日'])

pandas - 时间天数计算-实现excel中IF(ROUNDDOWN(),,)函数_第3张图片

import math
df['时差'] = (df['结束日']-df['开始日']).apply(lambda x: [math.floor(x.days / 30) if math.floor(x.days / 30) != 0 else 1][0])
print(df['时差'])

pandas - 时间天数计算-实现excel中IF(ROUNDDOWN(),,)函数_第4张图片

pandas - 时间天数计算-实现excel中IF(ROUNDDOWN(),,)函数_第5张图片

列表数据中取反操作

pandas - 时间天数计算-实现excel中IF(ROUNDDOWN(),,)函数_第6张图片

你可能感兴趣的:(pandas - 时间天数计算-实现excel中IF(ROUNDDOWN(),,)函数)