Объединить символы строковых значений с одинаковыми значениями столбцов - PullRequest
2 голосов
/ 21 апреля 2020

Пожалуйста, мне нужна помощь со строковыми символами. У меня есть фрейм данных с одним столбцом, имеющим следующие значения:

df['m2'] =  ['98', '100x107','86x90', '85', '90x100','124x148', '95']

Я хотел бы объединить 'x (число)' с теми значениями, которые являются просто одним числом. с таким результатом:

 df['m2'] =  ['98x98', '100x107','86x90', '85x85', '90x100','124x148', '95x95']

Ответы [ 2 ]

2 голосов
/ 21 апреля 2020

Вы можете использовать понимание списка:

df['m2'] = [f'{e}x{e}' if 'x' not in e else e for e in df['m2']]
df

вывод:

enter image description here

1 голос
/ 21 апреля 2020

Использование str.contains и loc

m = ~df.m2.str.contains('x')
df.loc[m, 'm2'] += 'x' + df.loc[m, 'm2']

        m2
0    98x98
1  100x107
2    86x90
3    85x85
4   90x100
5  124x148
6    95x95
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...