將數據框從 m 行 x n 列調整為 m x n 行單列。Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec2000 12.7 13.8 13.3 12.6 12.8 12.3 13.4 14 13 12.8 13 13.22001 13.8 13.7 13.8 13.9 13.4 14.2 14.4 15.6 15.2 16 15.9 172002 16.5 16 16.6 16.7 16.6 16.7 16.8 17 16.3 15.1 17.1 16.9自Year Month Value2000 Jan 12.72000 Feb 13.82000 Mar 13.3然后輕松地將“年”+“月”列合并到日期字段中并繪制數據列。我對此感到生銹。讀取各種熔化,重塑,堆疊選項令人沮喪地緩慢。
2 回答

倚天杖
TA貢獻1828條經驗 獲得超3個贊
您可以像這樣用于熊貓的數據幀:melt
df = pd.melt(df, id_vars=['Year'])
所有其他未在 中指定的列名稱將熔化為一列id_vars

慕姐8265434
TA貢獻1813條經驗 獲得超2個贊
正如其他人所提到的,如果 Year 是數據幀中的一列,則 將起作用。如果年份是您的索引(很難說,盡管可能基于您的維度),則可以使用 和 代替。meltstackreset_index
to_datetime可以組合兩列以創建日期時間,但您需要先分配一個日期值:
df.columns.name = 'Month'
df = df.stack().reset_index()
df['Date'] = pd.to_datetime(df[['Year', 'Month']].assign(Day=1))
新日期列可用于繪制您喜歡的包。
添加回答
舉報
0/150
提交
取消