У меня есть следующий фрейм данных с именем df
country ticker
01 ST ENRO.ST
02 ST ERICb.ST
03 ST BTSb.ST
04 US MSFT
05 HK 0070.HK
06 ST SAABb.ST
07 ST SaA.ST
Я хочу сделать следующее,
если страна == 'ST', выберите строку в строке тикера.
проверьте, есть ли какие-либо символы нижнего регистра.
Если есть символ нижнего регистра, добавьте перед ним дефис и сделайте букву прописной, как это.
country ticker
01 ST ENRO.ST
02 ST ERIC-B.ST
03 ST BTS-B.ST
04 US MSFT
05 HK 0070.HK
06 ST SAAB-B.ST
07 ST S-AA.ST
Я бы сделал следующее, если бы это была всего одна строка,
teststr = [char for char in "ERICb.ST"]:
for i,v in enumerate(teststr):
if teststr[i].islower():
mod = i
teststr[mod] = teststr[mod].upper()
teststr.insert(mod,'-')
teststr = ''.join(teststr)
, но я не знаю, как применить ее к каждой строке, если она соответствует этому условию.