【发布时间】:2020-12-20 17:03:31
【问题描述】:
我有以下熊猫数据框:
import pandas as pd
df = pd.DataFrame([[1, 100, 300, 250],
[2, 475, 200, 0],
[3, 125, 365, 100]], columns=['Client_ID', 'Purchase 1', 'Purchase 2', 'Purchase 3'])
╔═══════════╦════════════╦════════════╦════════════╗
║ Client_ID ║ Purchase 1 ║ Purchase 2 ║ Purchase 3 ║
╠═══════════╬════════════╬════════════╬════════════╣
║ 1 ║ 100 ║ 300 ║ 250 ║
║ 2 ║ 475 ║ 200 ║ 0 ║
║ 3 ║ 125 ║ 365 ║ 100 ║
╚═══════════╩════════════╩════════════╩════════════╝
我想将该表转置如下:
╔═══════════╦═══════════╗
║ Client_ID ║ Purchases ║
╠═══════════╬═══════════╣
║ 1 ║ 100 ║
║ 1 ║ 300 ║
║ 1 ║ 250 ║
║ 2 ║ 475 ║
║ 2 ║ 200 ║
║ 2 ║ 0 ║
║ 3 ║ 125 ║
║ 3 ║ 365 ║
║ 3 ║ 100 ║
╚═══════════╩═══════════╝
我试过 df.T 但没有用,我不想使用 for 循环。有没有办法做到这一点?
【问题讨论】:
-
这看起来像一个支点。
-
@ALollz 顺序不重要!
-
这能回答你的问题吗? pandas, melt, unmelt preserve index