我在这里看到过类似的问题,但我似乎无法为我的数据获得正确的输出。我有一个看起来像这样的 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
关于python - 使用 Pandas 将数据框中的变量拆分为行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45946126/