私があればわからない、そしてどのように私は、次の変換を行うことができます。パンダ:変数の名前と値を含む複数の列:ピボットを使用するには?
私はデータフレームは、このように見えるがあります。
Index Name detail1 detail1_value detail2 detail2_value detail3 detail3_value
1 Albert Age 30 Group A Hometown beautifulplace
2 Bea Age 28 Hometown anotherplace None None
3 Celin Age 45 Group B None None
4 Dave Group A None None None None
しかし、あなたが想像できるように、私の目的は次のとおりです。
Index Name Age Group Hometown
1 Albert 30 A beautifulplace
2 Bea 28 anotherplace
3 Celin 45 B
4 Dave A
私はエッチの詳細がちょうど一度現れると確信しています。 物事を複雑にする:すべての詳細が完全に同一であるかどうかはわかりません(場合によっては、故郷の代わりに故郷など)。
私が今までに見ることができる唯一の解決策は、各ペアの列(detail1とdetail1_valueなど)からsingelピボットテーブルを生成することです。第2のステップでは、新しいデータセットが作成され、これらのピボットテーブルのそれぞれが、例えば年齢に関する情報で検索される。 しかし、Pythonの私の信頼は、より良い方法が必要であることを私に伝えます...
ありがとう!
PS
: は助けるかもしれない:dataset = pd.DataFrame({'Name': ['Albert', 'Bea', 'Celine', 'Dave'],
'detail1': ['Age', 'Age', 'Age', 'Group'],
'detail1_value': ['30', '28', '45', 'A'],
'detail2': ['Group', 'Hometown', 'Group', None],
'detail2_value': ['A', 'anotherplace', 'B', None],
'detail3': ['Hometown', None, None, None],
'detail3_value': ['beautifulplace', None, None, None]})
私はあなたのデータセットで困惑ビットです。例:インデックス2の場合、値Hometownは列detail3に属し、別の場所は列detail3_valueに属しているように見えます。 – vestland
あなたは正しいです。それが私の質問の理由です。同じ状況がインデックス4にあります。ここでは、「グループ」は他の「グループ」と同様にdetail2の代わりにdetail1にあります。それ以外の場合、解決策は単純なピボットになります。 –
その場合、私はあなたの初期データフレームがどのように構築されているか再考すべきだと思います。問題の値を右に2ステップ移動し、なしに置き換えるとピボット操作が簡単になります。 Excelからインポートされたことはありますか? – vestland