根据另一个pandas日期列表拆分一个pandas日期列表

时间:2016-12-22 06:15:39

标签: python pandas merge

我正在尝试使用另一个分割一个日期列表。所以:

d = {'date':['1/15/2015','2/15/2015'], 'num':[1,2]}
s = {'split':['2/1/2015']}

df = pd.DataFrame(d)
sf = pd.DataFrame(s)

df['date'] = pd.to_datetime(df['date'])
sf['split'] = pd.to_datetime(sf['split'])

df['date'].split_by(sf['split'])

会产生:

        date    num
0 2015-01-15    1.0
1 2015-02-01    NaN  
2 2015-02-15    2.0

......但当然,事实并非如此。我确信这里有一个简单的合并或加入,但我无法弄明白。感谢。

此外,如果'split'列表有多个日期,其中一些日期超出了'date'列表的范围,我不希望它们包括在内。所以基本上,新范围的范围与旧范围相同。

(旁注:如果有更好的方法将字典转换为数据框并立即将日期字符串转换为日期时间,那将是锦上添花)

1 个答案:

答案 0 :(得分:1)

我认为sf的{​​{1}}和min的{​​{1}}首先需要boolean indexing,然后max需要concat使用sort_values进行对齐需要重命名列:

date
df