如何在python中与以下字符一起拆分空白



我正在使用panda,试图通过将列(团队(拆分为Home和Away来向列发送文本,但我收到了以下错误:

"ValueError: Columns must be same length as key" 

我可以拆分Score列,因为它只有一个分隔符"-",这很容易。不知道如何拆分Teams列,因为我试图将空格"与"v"字符一起使用。任何帮助都将不胜感激。谢谢

这是我正在使用的示例数据。

df = pd.read_excel('esports.xlsx')
#df.head()
#df[['score','oscore']] = df.Score.str.split("-",expand=True)
df[['team','opp']] = df.Teams.str.split((" "+"v"),expand=True)
df.head()

尝试

df[['team','opp']] = df.Teams.str.split(" v ",expand=True)

应该使用模式"v"或"\s+v\s+"进行拆分。示例:

import pandas as pd
import numpy as np
data = np.array([
["TeamA v Teamb"],
["TeamA v Teamb"],
["TeamA v Teamb"],
])
df = pd.DataFrame(data, columns = ["Teams"])
df[["TeamA", "TeamB"]] = df.Teams.str.split("s+vs+", expand = True)
print(df)

输出:

Teams  TeamA  TeamB
0  TeamA v Teamb  TeamA  Teamb
1  TeamA v Teamb  TeamA  Teamb
2  TeamA v Teamb  TeamA  Teamb

split函数返回的列很可能多于或少于2列。你能通过运行以下程序进行检查吗?

df.Teams.str.split((" "+"v"),expand=True)

如果它返回的列超过2列,则只需要提取所需的列。

最新更新