Python 分隔包含一组或两组括号的字符串列
我有一个类似这样的df:Python 分隔包含一组或两组括号的字符串列,python,pandas,dataframe,if-statement,split,Python,Pandas,Dataframe,If Statement,Split,我有一个类似这样的df: Team, Conf, 20_rec 0 Miami (FL) (ACC), None, 7-6 1 UCF (AAC), None, 6-4 我希望将团队和Conf分开,以实现以下目标: Team, Conf, 20_rec 0 Miami (FL), ACC, 7-6 1 UCF , AAC, 6-4 我知道我可以用:df[['Team','Conf']=df.Team.str.split('(',expand=Tru
Team, Conf, 20_rec
0 Miami (FL) (ACC), None, 7-6
1 UCF (AAC), None, 6-4
我希望将团队和Conf分开,以实现以下目标:
Team, Conf, 20_rec
0 Miami (FL), ACC, 7-6
1 UCF , AAC, 6-4
我知道我可以用:df[['Team','Conf']=df.Team.str.split('(',expand=True)
我尝试设置条件和if语句来检查一行是否包含给定的值,检查一个给定的团队是否包含在异常列表中,并尝试使用反向拆分来捕获最后的附加值,但似乎没有任何效果
exceptions = ['Miami (FL) (ACC)', 'Miami (OH) (MAC)']
for exception in exceptions:
if df[~df['Team'].str.contains(exception):
df[['Team','Conf'] = df.Team.str.split('(', expand = True)
else:
df[['Team','Conf'] = df.Team.str.split('\) \(', expand = True)
指向if语句的行,返回:
ValueError: The truth value of a DataFrame is ambiguous. Us a.empty, a.bool(), a.item(),a.any(), or a.all().
我想查看每一行,而不是集合行,也不想在Conf列中返回True/False,但实际上需要一个会议
抱歉没有包含更多的代码示例;我已经偏离了最初的意图,甚至不知道什么是接近的,但我认为这是更接近的尝试之一。谢谢!!尝试:
df[['Team', 'Conf']] = df.Team.str.strip().str.rsplit(' ', 1, expand=True)
我确实觉得有点傻,但不管怎样,你是我的英雄!谢谢!