Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在列中的列表中用下划线拆分_Python_Pandas - Fatal编程技术网

Python 在列中的列表中用下划线拆分

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']

你好,我有一个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'] = 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']]