【发布时间】:2021-02-09 23:07:19
【问题描述】:
我在 pandas 中有一个像这样格式化的数据框。
(df)
School ID Column 1
School 1 AD6000
School 2 3000TO4000
School 3 5000TO6000
School 4 AC2000
School 5 BB3300
School 6 9000TO9900
....
我想要做的就是将其中包含单词“TO”作为分隔符的列拆分为新 DF 中的两个新列,但每次我这样做时它也会编辑原始列 1。
(NewDF)
School ID Column 1 Column 2 Column 3
School 1 AD6000 NaN NaN
School 2 3000TO4000 3000 4000
School 3 5000TO6000 5000 6000
School 4 AC2000 NaN NaN
School 5 BB3300 NaN NaN
School 6 9000TO9900 9000 9900
....
这是我一直在尝试的代码。
NewDF = df1['Column 1']
NewDF[['Column 2', 'Column 3']] = df1['Column 1'].str.split('TO\s+', expand=True, n=1)
虽然这会创建两个新列,但它只是将第 1 列中的信息放入第 2 列,而不拆分字符串。然后我尝试了
NewDF[['Column 2','Column 3']] = NewDF['Column 2'].str.split('TO',expand=True, n=1)
我收到错误“列必须与键长度相同”。
感谢您的帮助。
【问题讨论】: