1
我有一個包含不同長度和字符的字符串的熊貓數據框。基於對部分字符串的匹配過濾熊貓數據框
例如:
print df['name'][0]
print df['name'][1]
print df['name'][2]
print df['name'][3]
會回到這樣的事情:
UserId : Z5QF1X33A
loginId : test.user
UserId : 0000; searchText : Cap
accountSampleToExclude : 0; accountSampleName : Sample Text; UserId : Z5QF1X33A; accountSampleType : Test; accountSample : Test
我想要做的是能夠通過列解析,只返回實際相關的ID,以便根據上面的例子:
Z5QF1X33A
test.user
0000
Z5QF1X33A
我認爲正則表達式是一個簡單的方法來解決t他,但到目前爲止,我只能夠拿出一些硬編碼的僞解決方案,只有部分情況:
df['name'] = df['name'].str.strip(r'(?<=\UserId :).*')
df['name'] = df['name'].str.strip(r'(?<=\loginId :).*')
這將工作類似於
df['name'][0]
df['name'][1]
但止跌行不適用於其他案件。任何幫助將不勝感激,我意識到,可以解決它沒有正則表達式,也許只是與str.split()方法,但不知道如何進行pythonic和/或熊貓的方式。
該方法適用於例如,然而,有沒有解決這個(不使用正則表達式?)更Python的方式,是不是太冗長。 – astateofsanj
@ user3356075,「使用正則表達式」有什麼問題? – MaxU