Python 根据日期范围列生成天数行
我有一个csv文件由两列(周和数据)和100行组成。 看起来像这样:Python 根据日期范围列生成天数行,python,python-2.7,pandas,anaconda,Python,Python 2.7,Pandas,Anaconda,我有一个csv文件由两列(周和数据)和100行组成。 看起来像这样: 周 资料 2009-01-04 - 2009-01-10 一些数据 import datetime from dateutil.parser import parse as parse_date from pandas import DataFrame df = DataFrame([['2009-01-04 - 2009-01-10','Some Data'], ['2009-01-
周
资料
2009-01-04 - 2009-01-10
一些数据
import datetime
from dateutil.parser import parse as parse_date
from pandas import DataFrame
df = DataFrame([['2009-01-04 - 2009-01-10','Some Data'],
['2009-01-11 - 2009-01-17','Some Data']])
df.columns = ['week','data']
def generate_dates(date_range):
day1_str, day2_str = date_range.split(' - ')
day1, day2 = parse_date(day1_str), parse_date(day2_str)
delta = day1 - day2
return [day1 + datetime.timedelta(days=x) for x in range(0, abs(delta.days + 1))]
def create_rows_from_row(row):
dates = generate_dates(row['week'])
return [[d, row['data']] for d in dates]
def create_new_df(df):
rows = []
for idx in range(len(df)):
rows.extend(create_rows_from_row(df.ix[idx]))
new_df = DataFrame(rows)
new_df.columns = ['week','data']
return new_df
create_new_df(df)