I want to create new column name pred_date
in df
and set value according to specific indexes.
For example for indexes [1, 2, 3]
I want to set value as the value in the date
column.
df
:
date label
1 1.1 1
2 2.1 0
3 3.1 1
4 4.1 1
Expected output df
:
date label pred_date
1 1.1 1 1.1
2 2.1 0 2.1
3 3.1 1 3.1
4 4.1 1 Nan
CodePudding user response:
You could use index.isin
where
:
df['pred_date'] = df['date'].where(df.index.isin([1,2,3]))
Output:
date label pred_date
1 1.1 1 1.1
2 2.1 0 2.1
3 3.1 1 3.1
4 4.1 1 NaN
CodePudding user response:
Use pd.Series.where
:
df['pred'] = df['date'].where(df.index != 4)
Output:
>>> df
date label pred
1 1.1 1 1.1
2 2.1 0 2.1
3 3.1 1 3.1
4 4.1 1 NaN
CodePudding user response:
You can actually just use .loc
:
df.loc[[1, 2, 3], 'pred'] = df['date']
Output:
>>> df
date label pred
1 1.1 1 1.1
2 2.1 0 2.1
3 3.1 1 3.1
4 4.1 1 NaN
Or:
df['pred'] = df.loc[[1, 2, 3], 'date']