是否可以使用pandas库替换csv文件中的零和负天数,我只需要将任何负天数替换为零或三十天
这是我的样本:
import datetime
from dateutil.relativedelta import relativedelta
import pandas as pd
import numpy as np
df = pd.read_csv("csv_data.csv", encoding="UTF-8",
parse_dates = [
"firstdate",
"lastdate",
], dayfirst=True
)
diff = pd.firstdate - pd.lastdate
#When i skip the following loop
"""for d in diff:
if d < 0:
df['thedif'] = 0
else:
df['thedif'] = diff"""
#and add this line below
df['thedif'] = diff
index firstdate lastdate thedif
0 2021-03-02 2021-04-02 -31days
1 2021-04-02 2021-03-02 31days
2 2021-03-03 2021-03-03 0days
但是如果我们在numpy中使用where关键字,我们会得到
Invalid comparison between dtype=timedelta64[ns] and int
Tou可以通过^{} 将天数转换为整数:
或者通过
pd.Timedelta(0)
进行比较:相关问题 更多 >
编程相关推荐