別のパンダ日付リストを使って日付リストを分割しようとしています。だから、:別のパンダの日付リストに基づいてパンダの日付リストを分割する
date num
0 2015-01-15 1.0
1 2015-02-01 NaN
2 2015-02-15 2.0
を...しかし、もちろん、それはしていません:
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'])
をもたらすであろう。シンプルなマージや参加ができていると思いますが、私はそれを理解できません。ありがとう。
また、'split'
のリストに複数の日付が含まれていて、そのうちのいくつかが'date'
リストの範囲外にある場合、それらは含まれたくありません。したがって基本的に、新しい範囲の範囲は古い範囲と同じになります。
(サイドノート:データフレームに辞書を変換して、すぐに日付時刻に日付文字列を変換する良い方法がありますならば、ケーキの上のアイシングであろうと)
まず、 'df = pd.concat([df、sf])。sort_values( 'date')'が必要だと思います。したがって、sfの値が範囲内にある場合、dfの最大日付とdfの最小値が出力に追加されますか? – jezrael
@jezrael - 右、 'sf'の値が' df ['date'] 'の最小値/最大値内にある場合にのみ日付を分割します。私は 'df'に別の列を追加して、保持したいDataFrameに他のデータがあることを示しました。 – pshep123