亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Python 轉換 DataFrame

使用 Python 轉換 DataFrame

蝴蝶刀刀 2023-02-15 16:36:15
首先,對標題感到抱歉,但我不知道如何用不到一句話來表達它......我有一個看起來像這樣的 DataFrame:   24  36  48A   1   2   1B   2   2   2C   2   1   3我想將其轉換為:  Num Let Val0  24  A  11  24  B  23  24  C  24  36  A  2...n  48  C  3這個想法是使用原始 df 索引的值創建一個新列('Let'),并使用原始 df 列的名稱創建另一個列('Num')。'Val' 列應該是原始表中的對應值(類似于您在 Excel 中可能有一個表的方式)。新表中行的順序不相關。我用 pivot_table() 做了一些嘗試,但沒有成功。知道如何去做嗎?提前致謝!
查看完整描述

2 回答

?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

你要找的是函數melt()

對于您的具體示例,它看起來像這樣:

import numpy as np

import pandas as pd


df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['24', '36', '48'], index=['A', 'B', 'C'])


df

#    24  36  48

# A   1   2   3

# B   4   5   6

# C   7   8   9


df.reset_index().melt(id_vars=["index"])

#   index variable  value

# 0     A       24      1

# 1     B       24      4

# 2     C       24      7

# 3     A       36      2

# 4     B       36      5

# 5     C       36      8

# 6     A       48      3

# 7     B       48      6

# 8     C       48      9


查看完整回答
反對 回復 2023-02-15
?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

import numpy as np


arr1 = np.array([[1, 2, 3], [4, 5, 6]])


print(f'Original Array:\n{arr1}')


arr1_transpose = arr1.transpose()


print(f'Transposed Array:\n{arr1_transpose}')


查看完整回答
反對 回復 2023-02-15
  • 2 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號