Pandas ValueError: "Columns must be same length as key"

Pandas ValueError: "Columns must be same length as key"

我正在为此使用 Jupyter Labs。 我正在尝试将一列拆分为两列并收到错误消息“列的长度必须与键的长度相同”

dataframe image

第一次拆分代码:

two_new_columns = ['Rank', 'Title']
df[two_new_columns] = df['Rank & Title'].str.split('.', 1, expand=True)

df

full error thrown image

使用 str.extract,我得到了正确的列 headers,但后面没有行。 str.extract image

关于如何解决这个错误有什么建议吗? Expected Output

这里的.是regex特殊字符,所以加上regex=False,因为不像regex patatern那样处理它:

df[two_new_columns] = df['Rank & Title'].str.split('.', 1, expand=True, regex=False)

或通过\转义正则表达式:

df[two_new_columns] = df['Rank & Title'].str.split(r'\.', 1, expand=True)

备选方案:

df1 = df['Rank & Title'].str.extract(r'(?P<Rank>\d+)\.(?P<Title>.*)')