Skip to main content
 首页 » 编程设计

python之Pandas df 将值从一列拆分为自己的列

2025年05月04日11mfryf

如何使用 Pandas 和 Python 执行此操作?我正在使用 Jupyter Notebook。

我有一个这样的数据框:

    col 
0   2017 / something 
1   $5.91 (× 1) 
2   Premium 
3   2017 / anotherthing 
4   $16.0 (× 1) 
5   Business 

我想将其中的值拆分成它们自己的列,如下所示:

    col                    revenue        plan 
0   2017 / something       $5.91 (× 1)    Premium 
1   2017 / anotherthing    $16.0 (× 1)    Business 

然后从收入列中删除括号值和美元符号,这样我就可以结束了:

    col                    revenue     plan 
0   2017 / something       5.91        Premium 
1   2017 / anotherthing    16.0        Business 

请您参考如下方法:

In [113]: (df[['col']].replace(r'\s*\([^\)]*\)', '', regex=True) 
     ...:             .set_index(np.arange(len(df))//3) 
     ...:             .set_index(np.arange(len(df))%3, append=True)['col'] 
     ...:             .unstack()) 
     ...: 
Out[113]: 
                     0      1         2 
0     2017 / something  $5.91   Premium 
1  2017 / anotherthing  $16.0  Business