我有一个Pandas DataFrame,其中包含ID,代码和日期。对于某些代码,我希望根据日期填充ID的后续外观,并使用一组确定的缺失代码。我还想知道代码首次出现在相应的ID上。
示例如下,NB:缺失的代码是A和B(只有代码A和B结转):
import pandas as pd
d = {'ID': [1, 2, 1, 2, 3, 1], 'date': ['2017-03-22', '2017-03-21', '2017-03-23', '2017-03-24', '2017-03-28', '2017-03-28'], 'Code': ['A, C', 'A', 'B, C', 'E, D', 'A', 'C']}
df = pd.DataFrame(data=d)
# only A and B codes carry over
df
目标数据框理想情况如下:
import pandas as pd
d = {'ID': [1, 2, 1, 2, 3, 1], 'date': ['2017-03-22', '2017-03-21', '2017-03-24', '2017-03-22', '2017-03-28', '2017-03-28'], 'Code': ['A, C', 'A', 'B, C', 'E, D', 'A', 'C'], 'Missing_code': ['', '', 'A', 'A', '', 'A, B'], 'First_code_date': ['', '', '2017-03-22', '2017-03-21', '', '2017-03-23, 2017-03-24']}
df = pd.DataFrame(data=d)
df
注意我并不挑剔' First_code_date'看起来提供它是动态的,因为代码长度可能增加或减少。
如果示例不清楚请告诉我,我会调整。
感谢您的帮助。