Pandas - вставлять значения столбцов в новые столбцы
У меня большой фрейм данных, и я храню много избыточных значений, которые затрудняют обработку моих данных. У меня есть датафрейм в форме:
import pandas as pd
df = pd.DataFrame([["a","g","n1","y1"], ["a","g","n2","y2"], ["b","h","n1","y3"], ["b","h","n2","y4"]], columns=["meta1", "meta2", "name", "data"])
>>> df
meta1 meta2 name data
a g n1 y1
a g n2 y2
b h n1 y3
b h n2 y4
где у меня есть имена новых столбцов, которые я хотел бы вname
и соответствующие данные вdata
.
Я хотел бы создать фрейм данных в форме:
df = pd.DataFrame([["a","g","y1","y2"], ["b","h","y3","y4"]], columns=["meta1", "meta2", "n1", "n2"])
>>> df
meta1 meta2 n1 n2
a g y1 y2
b h y3 y4
Столбцы называютсяmeta
около 15+ других столбцов, которые содержат большую часть данных, и я не думаю, что они особенно хорошо подходят для индексации. Идея в том, что у меня много повторных / избыточных данных, хранящихся вmeta
на данный момент, и я хотел бы представить более компактный план данных.
Я нашел несколько похожих Q, но не могу точно определить, какие операции мне нужно выполнить: pivot, re-index, stack или unstack и т. Д.?
PS - исходные значения индекса не важны для моих целей.
Любая помощь приветствуется.
Вопрос, я думаю, связан:
Я думаю, что следующий вопрос связан с тем, что я пытаюсь сделать, но я не понимаю, как его применить, так как я не хочу создавать больше индексов.
Python Pandas - как расстегнуть сводную таблицу с двумя значениями, каждое из которых становится новым столбцом?