lundi 12 octobre 2020

How to replicate same values based on the index value of other column in python

I have a dataframe like below and I want to add another column that is replicated untill certain condition is met.

sample_df = pd.DataFrame(data={
  'id': ['A', 'B', 'C'],
  'n' : [  1,   2,   3],
  'v' : [ 10,  13,   8],
  'z' : [5,    3,    6],
  'g' : [8,    8,    10]
})

additional_rows=

Now I want to add another column which contains additional information about the dataframe. For instance, I want to replicate Yes untill id is B and No when it is below B and Yes from C to D and from from D to E Maybe.

The output I am expecting is as follows:

sample_df = pd.DataFrame(data={
  'id': ['A', 'B', 'C','G','D','E'],
  'n' : [  1,   2,   3, 5,  5,  9],
  'v' : [ 10,  13,   8, 8,  4 ,  3],
  'z' : [5,    3,    6, 9,  9,   8],
  'New Info': ['Yes','Yes','No','No','Maybe','Maybe']
})

sample_df

id  n   v   z   New Info
0   A   1   10  5   Yes
1   B   2   13  3   Yes
2   C   3   8   6   No
3   G   5   8   9   No
4   D   5   4   9   Maybe
5   E   9   3   8   Maybe

How can I achieve this in python?

Aucun commentaire:

Enregistrer un commentaire