簡體   English   中英

用於動態訪問列的 Python Dataframe 到 Columnar 格式

[英]Python Dataframe to Columnar format for accessing the columns dynamically

數據框數據將是:

COL1 COL2 COL3
100 200 300
101 201 301
102 202 302
103 203 303

預期輸出:格式為 HBase(列式)

將 COL1 視為 KEY_COLUMN 值

KEY_COLUMN 鑰匙 價值
100 COL2 200
100 COL3 300
101 COL2 201
101 COL3 301
102 COL2 202
102 COL3 302
103 COL2 203
103 COL3 303

我嘗試使用 .loc 將所有鍵轉置/轉換為值,如下所示。

for idx in df.index:
     print (df.loc[idx])
COL1  100
COL2  200
COL3  300
COL1  101
COL2  201
COL3  301
COL1  102
COL2  202
COL3  302
COL1  103
COL2  203
COL3  303

但我無法將 KEY_COLUMN 作為第 1 列,將 KEY 和 VALUE 作為后續列。 任何人都可以請建議。 謝謝!

試試pd.melt

df = (
    df.rename(columns={"COL1": "KEY_COLUMN"})
    .melt("KEY_COLUMN", var_name="KEY", value_name="VALUE")
    .sort_values(by="KEY_COLUMN")
)
print(df)

印刷:

   KEY_COLUMN   KEY  VALUE
0         100  COL2    200
4         100  COL3    300
1         101  COL2    201
5         101  COL3    301
2         102  COL2    202
6         102  COL3    302
3         103  COL2    203
7         103  COL3    303

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM