我在这里看到过类似的问题,但我似乎无法为我的数据获得正确的输出。我有一个看起来像这样的 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
我是一名优秀的程序员,十分优秀!