Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据日期范围列生成天数行_Python_Python 2.7_Pandas_Anaconda - Fatal编程技术网

Python 根据日期范围列生成天数行

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-

我有一个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-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)