Skip to main content
 首页 » 编程设计

python之使用 Pandas 将数据框中的变量拆分为行

2025年05月04日21mengfanrong

我在这里看到过类似的问题,但我似乎无法为我的数据获得正确的输出。我有一个看起来像这样的 Pandas 数据框:

   pm_code                   sec_pm                    site_no       state 
0  010_628 010_228 015_634   2543677 2543677 2543677   010228955     me 

我想将每个单元格分成多行(按空格分隔)并按 state 和 site_no 进行索引。

感谢您的帮助!

请您参考如下方法:

选项 1
set_index 和 pd.Series.str.split
又名魔方

df.set_index( 
    ['state', 'site_no'] 
).stack().str.split(expand=True).stack().unstack(-2) 
 
                  pm_code   sec_pm 
state site_no                      
me    10228955 0  010_628  2543677 
               1  010_228  2543677 
               2  015_634  2543677 

选项 2
与 pd.Series.str.extractall

相同的想法
df.set_index( 
    ['state', 'site_no'] 
).stack().str.extractall('(\S+)')[0].unstack(-2) 
 
                      pm_code   sec_pm 
state site_no  match                   
me    10228955 0      010_628  2543677 
               1      010_228  2543677 
               2      015_634  2543677