У меня есть столбец с именем 'comment1abc'
Я пишу фрагмент кода, в котором я хочу увидеть, что если столбец содержит определенную строку 'abc'
df['col1'].str.contains('abc') == True
Теперь вместо жесткого кодирования 'abc' я хочу использовать операцию с подстрокой, подобную операции над столбцом 'comment1abc' (если быть точным, имя столбца , а не значения столбца), чтобы я мог получить часть abc из этого. Например, приведенный ниже код выполняет аналогичную работу
x = 'comment1abc'
x[8:11]
Но как мне это реализовать для имени столбца? Я попробовал приведенный ниже код, но он не работает.
for col in ['comment1abc']:
df['col123'].str.contains('col.names[8:11]')
Любое предложение будет полезным.
Пример кадра данных:
f = {'name': ['john', 'tom', None, 'rock', 'dick'], 'DoB': [None, '01/02/2012', '11/22/2014', '11/22/2014', '09/25/2016'], 'location': ['NY', 'NJ', 'PA', 'NY', None], 'code': ['abc1xtr', '778abc4', 'a2bcx98', None, 'ab786c3'], 'comment1abc': ['99', '99', '99', '99', '99'], 'comment2abc': ['99', '99', '99', '99', '99']}
df1 = pd.DataFrame(data = f)
и пример кода:
for col in ['comment1abc', 'comment2abc']:
df1[col][df1['code'].str.contains('col.names[8:11]') == True] = '1'