Здесь у меня есть набор данных с несколькими кодами для одной записи.Мне нужно подобрать коды, начинающиеся с '6', и поместить их в новый столбец для каждой записи.
Датафрейм выглядит следующим образом:
ID Code1 Code2 Code3 Code4 Code5 Code6
1 64774 NaN NaN NaN NaN NaN
2 60240 95868 NaN NaN NaN NaN
3 36500 60500 95867 NaN NaN NaN
4 19125 19301 36500 NaN NaN NaN
5 36500 60500 60520 95868 95869 NaN
6 31528 31622 36500 43235 60500 60520
# Create the dataframe
d = {'ID': ['1', '2', '3', '4', '5', '6'],
'Code1': ['64774','60240','36500','19125','36500','31528'],
'Code2': [np.nan,'95868','60500','19301','60500','31622'],
'Code3': [np.nan,np.nan,'95867','36500','60520','36500'],
'Code4': [np.nan,np.nan,np.nan,np.nan,'95868','43235'],
'Code5': [np.nan,np.nan,np.nan,np.nan,'95869','60500'],
'Code6': [np.nan,np.nan,np.nan,np.nan,np.nan,'60520'],
}
df = pd.DataFrame(data=d)
Я думал о цикле или функции вроде:
def myfunc(row):
if row['Code1'].str.startswith('6'):
return row['Code1']
, но я не совсем уверен, как запустить fuction для всех 6 столбцов (Code1 - Code6) в одной функции и поместить все выбранныекод вместе как 1 значение.
Я ищу следующее:
ID Code1 Code2 Code3 Code4 Code5 Code6 New_Col
1 64774 NaN NaN NaN NaN NaN 64774
2 60240 95868 NaN NaN NaN NaN 60240
3 36500 60500 95867 NaN NaN NaN 60500
4 19125 19301 36500 NaN NaN NaN NaN
5 36500 60500 60520 95868 95869 NaN 60500, 60520
6 31528 31622 36500 43235 60500 60520 60500, 60520
Заранее спасибо!