我有以下数据集
data = {'ID': ['A', 'B', 'C', 'D'],
'2012': [0, 1, 1, 1],
'2013': [0, 0, 1, 1],
'2014': [0, 0, 0, 1],
'2015': [0, 0, 1, 1],
'2016': [0, 0, 1, 0],
'2017': [1, 0, 1,1]}
df = pd.DataFrame(data)
对于每一行,我想生成一个新列 -
Baseline_Year
- 它假定与所有值相等的右侧的列名称为1。如果没有所有值都等于1的列,则希望Baseline_Year
等于缺失值。请参见期望结果。
data = {'ID': ['A', 'B', 'C', 'D', 'E'],
'2012': [0, 1, 1, 1, 1],
'2013': [0, 0, 1, 1, 1],
'2014': [0, 0, 0, 1, 1],
'2015': [0, 0, 1, 1, 1],
'2016': [0, 0, 1, 0, 1],
'2017': [1, 0, 1,1, 1],
'Baseline_Year': [np.nan, np.nan, '2015','2017', '2012'],
}
df_results = pd.DataFrame(data)
df_results