2 回答

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
以下是切片和slice_replace的列表理解:
df['new'] = ([df[0].str.slice_replace(
i,i+1,df[0].str.slice(i,i+1).iloc[e].lower()).iloc[e]
for e,i in enumerate(df[1])])
0 1 new
0 TZPVTRT 2 TZpVTRT
1 VSSXYUP 3 VSSxYUP
2 YUTXTQS 2 YUtXTQS
3 SZRURSU 5 SZRURsU
4 XRXQVUP 3 XRXqVUP
5 PSQZZVV 6 PSQZZVv
6 XYYXPYV 3 XYYxPYV
注意 如果您的索引從 1 開(kāi)始而不是 0 ,請(qǐng)將 替換為df[0].str.slice(i,i+1)df[0].str.slice(i-1,i)

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以為字符串編制索引。將下部字符編入索引,將該字符變?yōu)檩^低字符,然后添加剩余的所有內(nèi)容。真的與使用沒(méi)有什么不同,但也許更具可讀性。Series.str.slice_replace
df['new_str'] = [s[:i] + s[i].lower() + s[i+1:] for s,i in zip(df[0], df[1])]
0 1 new_str
0 TTTQTYT 3 TTTqTYT
1 USRRUZS 2 USrRUZS
2 PPXQZZT 6 PPXQZZt
3 UZZVQRQ 3 UZZvQRQ
4 ZVUQPUV 6 ZVUQPUv
5 TRPPSVU 5 TRPPSvU
6 YYZPURQ 5 YYZPUrQ
添加回答
舉報(bào)