擅长:python、mysql、java
<p>制作一个<code>function</code>以<code>+- 7</code>天计算日期,并检查计算日期是否在节假日,因此返回<code>True</code>else<code>False</code>并将该函数应用于<code>Data frame</code></p>
<pre><code>import datetime
import pandas as pd
holidays = ['2016-01-01','2016-01-18','2017-11-23','2017-12-25']
def holiday_present(date):
date = datetime.datetime.strptime(date, '%Y-%m-%d')
for i in range(-7,7):
datte = (date - datetime.timedelta(days=i)).strftime('%Y-%m-%d')
if datte in holidays:
return True
return False
data = {
"Date":[
"2016-01-04",
"2016-01-05",
"2016-01-06",
"2016-01-07",
"2016-01-08"]
}
df= pd.DataFrame(data)
df["Within a week of Holiday"] = df["Date"].apply(holiday_present).astype(int)
</code></pre>
<p><strong>输出:</strong></p>
<pre><code> Date Within a week of Holiday
0 2016-01-04 1
1 2016-01-05 1
2 2016-01-06 1
3 2016-01-07 1
4 2016-01-08 0
</code></pre>