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

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

使用時間序列中每個 id 的值的列創建一個新的 pandas 數據框

使用時間序列中每個 id 的值的列創建一個新的 pandas 數據框

慕尼黑8549860 2023-09-12 16:58:39
假設我有一個如下所示的 DataFrame:            timestamp    id  value0 2020-09-27 10:00:00     a     100 2020-09-27 10:00:00     b     130 2020-09-27 10:00:00     c     160 2020-09-27 10:01:00     a     110 2020-09-27 10:01:00     b     140 2020-09-27 10:01:00     c     170 2020-09-27 10:02:00     a     120 2020-09-27 10:02:00     b     15我想創建一個新的 DataFrame,其中包含特定時間戳處每個 id 的值的列。                            a    b    c2020-09-27 10:00:00        10   13   162020-09-27 10:01:00        11   14   172020-09-27 10:02:00        12   15  NaN我嘗試過以下方法:df2 = pd.DataFrame(df['timestamp'].unique())for unique in df['id'].unique():    df2 = df2.join(df[df['id']==unique]['value'])    df2.rename(columns={"value": unique})但是,我收到以下錯誤:ValueError: columns overlap but no suffix specified: Index(['value'], dtype='object')有人可以解釋一下出了什么問題和/或獲得結果的更好方法是什么嗎?
查看完整描述

2 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

您可以使用 df.pivot

df.pivot(index=['timestamp'],?columns?=?['id'],?values?=?['value']).reset_index()


查看完整回答
反對 回復 2023-09-12
?
郎朗坤

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

您可以使用df.pivot_table()


In [798]: df.pivot_table(values = 'value', index='timestamp', columns = 'id').reset_index()

Out[798]:?

id? ? ? ? ? ? timestamp? ? ?a? ? ?b? ? ?c

0? ?2020-09-27 10:00:00? 10.0? 13.0? 16.0

1? ?2020-09-27 10:01:00? 11.0? 14.0? 17.0

2? ?2020-09-27 10:02:00? 12.0? 15.0? ?NaN


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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