使用 str.split() 拆分列不会改变结果
splitting columns with str.split() not changing the outcome
我是否必须使用 str.split() 进行练习。我有一个名为 title 的列,它看起来像这样:
我需要将它分成名称和季节两列,下面的代码没有通过错误,但是当我用 df.head 测试它时它似乎也没有做任何事情()
df[['Name', 'Season']] = df['title'].str.split(':',n=1, expand=True)
关于原因的任何帮助?
问题中的代码是正确的,应该可以正常工作。不过,如果您使用的是 Jupyter Notebook 或某种允许代码执行顺序不明确的方法,问题可能出在代码的执行顺序上。
我建议重新开始 kernel/terminal 以清除命名空间中的所有变量,然后按顺序执行这些行,例如:
# perform steps to load data in and clean
print(df.columns)
df[['Name', 'Season']] = df['title'].str.split(':',n=1, expand=True)
print(df.columns)
或者,您可以在代码中添加一个断言步骤以确保它也能正常工作:
df[['Name', 'Season']] = df['title'].str.split(':',n=1, expand=True)
assert {'Name', 'Season'}.issubset(set(df.columns)), "Columns were not added"
我是否必须使用 str.split() 进行练习。我有一个名为 title 的列,它看起来像这样:
我需要将它分成名称和季节两列,下面的代码没有通过错误,但是当我用 df.head 测试它时它似乎也没有做任何事情()
df[['Name', 'Season']] = df['title'].str.split(':',n=1, expand=True)
关于原因的任何帮助?
问题中的代码是正确的,应该可以正常工作。不过,如果您使用的是 Jupyter Notebook 或某种允许代码执行顺序不明确的方法,问题可能出在代码的执行顺序上。
我建议重新开始 kernel/terminal 以清除命名空间中的所有变量,然后按顺序执行这些行,例如:
# perform steps to load data in and clean
print(df.columns)
df[['Name', 'Season']] = df['title'].str.split(':',n=1, expand=True)
print(df.columns)
或者,您可以在代码中添加一个断言步骤以确保它也能正常工作:
df[['Name', 'Season']] = df['title'].str.split(':',n=1, expand=True)
assert {'Name', 'Season'}.issubset(set(df.columns)), "Columns were not added"