Pandas - Как мне заполнить несколько дат / сущностей? - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь заполнить фондовые данные, используя Pandas. У меня проблема в том, что мой фрейм данных имеет несколько тикеров (Dim_Assets.Index). На каком-то уровне, я думаю, нужен раздел. df1 ниже - это фрейм данных, который у меня есть сейчас. df2 - это желаемый результат.

import pandas as pd

d1 = {'AssetDate': ['1/1/2020', '1/3/2020', '1/1/2020', '1/3/2020'], 'Dim_Assets.Index': [1,1,2,2],'AssetPrice': [50, 56, 100, 96]}
df1 = pd.DataFrame(data=d1)
df1['AssetDate']=pd.to_datetime(df1['AssetDate'], format='%m/%d/%Y')


d2 = {'AssetDate': ['1/1/2020', '1/2/2020', '1/3/2020', '1/1/2020', '1/2/2020', '1/3/2020'], 'Dim_Assets.Index': [1,1,1,2,2,2],'AssetPrice': [50, 50, 56, 100, 100, 96]}
df2 = pd.DataFrame(data=d2)
df2['AssetDate']=pd.to_datetime(df2['AssetDate'], format='%m/%d/%Y')

Как мне достичь требуемого df2?

1 Ответ

0 голосов
/ 18 апреля 2020

Обратная засыпка не добавит строки в ваш фрейм данных. Это псевдоним для fillna. Поэтому, если вы хотите что-то засыпать, вам нужно добавить строки с датами и пустыми значениями для засыпки. Затем вы можете группировать по Dim_Assets.Index и засыпать по группам.

df.gropuby('Dim_Assets.Index').bfill(...)
...