在Python中使用连字符拆分单词时创建两个新列

在Python中使用连字符拆分单词时创建两个新列,python,pandas,numpy,Python,Pandas,Numpy,我有一个数据集df,它有一个列,包含由连字符分割的两个单词。我想用每个拆分值创建两个新列 Value Type ABC-California Low DEF-New York Low 期望输出: Value1 Value2 Type ABC California Low DEF New York Low 我在做什么: df.repla

我有一个数据集df,它有一个列,包含由连字符分割的两个单词。我想用每个拆分值创建两个新列

 Value                    Type

 ABC-California           Low 
 DEF-New York             Low
期望输出:

Value1     Value2        Type

ABC        California    Low
DEF        New York      Low
我在做什么:

df.replace('-', ' ').split(' ')
df['Value1'] = df.replace('-', ' ').split(' ')
但是,我不知道如何创建新列。感谢您的帮助

df = pd.concat([df['Value'].str.split('-', expand=True), df['Type']], axis=1)
df = df.rename(columns={0:'Value1', 1:'Value2'})
print(df)
印刷品:

  Value1      Value2 Type
0    ABC  California  Low
1    DEF    New York  Low
印刷品:

  Value1      Value2 Type
0    ABC  California  Low
1    DEF    New York  Low
单线解决方案:

df[['Value1', 'Value2']] = df['Value'].str.split('-', 1, expand=True)
单线解决方案:

df[['Value1', 'Value2']] = df['Value'].str.split('-', 1, expand=True)

谢谢,我得到了这个错误:必须有相等的len键和值时设置一个iterable-这是我需要的东西吗do@Lynnette我猜expand=True在split中是必需的。您可能的意思是:df['Value1',df['Value2']=df['Value'].str.split'-',1@QuangHoang是的,@Lynnette,您可以用expand=TrueIs['Value']重试,但仍然不存在?谢谢,我得到了这个错误:必须有相等的len键和值时设置一个iterable-这是我需要的东西吗do@Lynnette我猜expand=True在split中是必需的。您可能的意思是:df['Value1',df['Value2']=df['Value'].str.split'-',1@QuangHoang是的,@Lynnette,您可以在expand=TrueIs['Value']仍然不存在的情况下重试吗?