Python 在列中的列表中用下划线拆分
你好,我有一个df,比如Python 在列中的列表中用下划线拆分,python,pandas,Python,Pandas,你好,我有一个df,比如 COL1 COL2 G1 ['OK_+__SP2','PL_-__SP2'] G2 ['IQO_-__SP1_8','PL2_-__SP2'] G2 ['IRO_+__SP8'] 我想为COL2的每个元素删除,即\uuu之前的部分 得到 COL1 COL2 G1 ['SP2','SP2'] G2 ['SP1_8','SP2'] G2 ['SP8'] 首先,如有必要,将值转换为列表: import ast df['COL2']
COL1 COL2
G1 ['OK_+__SP2','PL_-__SP2']
G2 ['IQO_-__SP1_8','PL2_-__SP2']
G2 ['IRO_+__SP8']
我想为COL2
的每个元素删除,即\uuu
之前的部分
得到
COL1 COL2
G1 ['SP2','SP2']
G2 ['SP1_8','SP2']
G2 ['SP8']
首先,如有必要,将值转换为列表:
import ast
df['COL2'] = df['COL2'].apply(ast.literal_eval)
然后在列表理解中拆分:
df['COL2'] = df['COL2'].apply(lambda x: [y.split('__')[-1] for y in x])
print (df)
COL1 COL2
0 G1 [SP2, SP2]
1 G2 [SP1_8, SP2]
2 G2 [SP8]
或:
非常感谢你的帮助
df['COL2'] = [[y.split('__')[-1] for y in x] for x in df['COL2']]