Ben şöyle bir liste var: li = ['ShortHair','LongHair','Medium Hair']
Ben col2 ve güncelleme col3 dan götürün eğer col2, yukarıdaki alt dize birini içeriyorsa kontrol etmek istiyorumPython- Başka bir sütundan alt dizeyi alarak sütun nasıl güncellenir?
. Eğer değilse, o zaman col3 bırakın.
col1 col2 col3
0 w I have ShortHair U
1 x LongHair You Have V
2 y I have no hair W
3 z Look Medium Hair! L
almak için:
col1 col2 col3
0 w I have ShortHair
1 x You Have LongHair
2 y I have no hair W
3 z Look ! Medium Hair
DÜZENLEME: substring birden oluşumları dizisinde var ise, her ikisi de bir şekilde col2 çıkarın ve ilk değere sahip Col3 güncelleştirmek.
Katmanları col2'den kaldırabilirim, ancak col3'ü güncelleyemiyorum. Denedim:
data[data.col2.str.contains('|'.join(li)),"col3"] = data["col2"].map(lambda x: re.findall('|'.join(li),x)[0])
O IndexError: list index out of range
hata veriyor.
Bunu en iyi nasıl yapabilirim?
Ya "Sen LongHair veya ShortHair var"? Col3 ne içermeli ve neden? – Alexander
Her ikisini de kaldırın, önce saklayın. – harshit
@Alexander sorusunu güncelleyeceğim. Bunun kullanıyorum veri kümesinde olmaz. Ancak, benim amacım için, ilk değeri almak yeterlidir. – harshit