我只需要将一列 Dataframe 拆分为4个不同的列。我尝试了几个步骤,但没有工作。
数据1:
Dump
12525 2 153 89-8 Winch
24798 1 147 65-4 Gear
65116 4 Screw
46456 1 Rowing
46563 5 Nut
预期值1:
Item Qty Part_no Description
12525 2 153 89-8 Winch
24798 1 147 65-4 Gear
65116 4 Screw
46456 1 Rowing
46563 5 Nut
数据2:
Dump
12525 2 153 89-8 Winch Gear
24798 1 147 65-4 Gear nuts
65116 X Screw bolts
46456 1 Rowing rings
46563 X Nut
预期2:
Item Qty Part_no Description
12525 2 153 89-8 Winch Gear
24798 1 147 65-4 Gear nuts
65116 X Screw bolts
46456 1 Rowing rings
46563 X Nut
我尝试了下面的代码
data_df[['Item','Qty','Part_no','Description']] = data_df["Dump"].str.split(" ", 3, expand=True)
and got the output like
Item Qty Part_no Description
12525 2 153 89-8 Winch
24798 1 147 65-4 Gear
65116 4 Screw
46456 1 Rowing
46563 5 Nut
此外,我尝试使用此代码,但没有得到预期的输出:
data_df[['Item','Qty','Part_no','Description']] = data_df['Dump'].str.extract(r'(\d+)\s+(\S+)\s+(\d*)\s*(.+)$')
有什么建议吗,我怎么能解决这个问题?
类似于这个问题:Split the single column to 4 different columns in Dataframe
1条答案
按热度按时间yhxst69z1#
可以匹配捕获组中
Part_no
列的数据格式,并使该组中的数据可选,以保留4列。Regex demo
具有命名捕获组和str.extractall的示例
输出量