在Python中使用连字符拆分单词时创建两个新列
我有一个数据集df,它有一个列,包含由连字符分割的两个单词。我想用每个拆分值创建两个新列在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
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']仍然不存在的情况下重试吗?