从熊猫数据框中的一列元组中删除元素

时间:2020-04-17 14:13:37

标签: python pandas dataframe tuples

我有一个数据框,其值是一个字符串或包含多个字符串的元组,例如一个波纹管:

           Country                                              Roles  \
0  Shell Record  (DSC Payroll Administrator Reporting, DSC HR S...   
1            PL  (DSC Payroll Administrator Reporting, DSC Payr...   
2            ES  (DSC HR Business Partner Reporting, DSC HR Bus...   
3  Shell Record  (DSC HR Business Partner Reporting, DSC HR Bus...   
4  Shell Record                     DSC BPM Worklist Administrator   

          Role vs Family  
0           Do not match  
1  (Match, Do not match)  
2                  Match  
3           Do not match  
4           Do not match  

有没有一种方法可以删除元组中的值(例如,删除“匹配/不匹配”,因此该列中的值将只是没有括号的相同)。我不想为此使用“替换”(甚至不知道是否可能)。

谢谢!

1 个答案:

答案 0 :(得分:0)

示例数据框:

import pandas as pd
import re
df = pd.DataFrame({'col': ['(Match, Do not match)', 'Match', 'Do not match']})
print(df)

之前:

                     col
0  (Match, Do not match)
1                  Match
2           Do not match

此正则表达式应删除列中的所有括号。

df['col'] = df['col'].apply(lambda x: re.sub(r'[(|)]', '', x))
print(df)

之后:

                   col
0  Match, Do not match
1                Match
2         Do not match