第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Pandas 按日期分組和計數(shù)。然后將計數(shù)轉(zhuǎn)置為列名稱

Pandas 按日期分組和計數(shù)。然后將計數(shù)轉(zhuǎn)置為列名稱

紅糖糍粑 2023-09-05 15:40:11
我有這個數(shù)據(jù)框import pandas as pdfrom datetime import datetimedf = pd.DataFrame([    {"_id": "1", "date": datetime.strptime("2020-09-29 07:00:00", '%Y-%m-%d %H:%M:%S'), "status": "started"},    {"_id": "2", "date": datetime.strptime("2020-09-29 14:00:00", '%Y-%m-%d %H:%M:%S'), "status": "end"},    {"_id": "3", "date": datetime.strptime("2020-09-25 17:00:00", '%Y-%m-%d %H:%M:%S'), "status": "started"},    {"_id": "4", "date": datetime.strptime("2020-09-17 09:00:00", '%Y-%m-%d %H:%M:%S'), "status": "end"},    {"_id": "5", "date": datetime.strptime("2020-09-19 07:00:00", '%Y-%m-%d %H:%M:%S'), "status": "end"},    {"_id": "6", "date": datetime.strptime("2020-09-19 08:00:00", '%Y-%m-%d %H:%M:%S'), "status": "end"},]).set_index('date')看起來像這樣:                    _id   statusdate                            2020-09-29 07:00:00   1  started2020-09-29 14:00:00   2      end2020-09-25 17:00:00   3  started2020-09-17 09:00:00   4      end2020-09-19 07:00:00   5      end我正在嘗試按天分組并計算每個狀態(tài)。但我想在列名稱中包含名稱的名稱。這是所需的輸出:                      status_started  status_enddate2020-09-29 07:00:00    1                12020-09-25 17:00:00    1                02020-09-17 09:00:00    0                12020-09-19 07:00:00    0                2我試過這個:df = df.groupby([pd.Grouper(freq='d'), 'status']).agg({'status': "count"})df = df.reset_index(level="status")out:                     statusdate       status         2020-09-17 end           12020-09-19 end           22020-09-25 started       12020-09-29 end           12020-09-29 started       1但并沒有成功改造df。
查看完整描述

2 回答

?
qq_笑_17

TA貢獻(xiàn)1818條經(jīng)驗 獲得超7個贊

您可以嘗試crosstab:


d = pd.crosstab(df.index.date, df['status'])\

      .rename_axis('date').add_prefix('status_')

status      status_end  status_started

date                                  

2020-09-17           1               0

2020-09-19           2               0

2020-09-25           0               1

2020-09-29           1               1


查看完整回答
反對 回復(fù) 2023-09-05
?
一只名叫tom的貓

TA貢獻(xiàn)1906條經(jīng)驗 獲得超3個贊

您只需要unstack:


df.groupby([pd.Grouper(freq='d'), 'status']).size().unstack('status', fill_value=0)

輸出:


status      end  started

date                    

2020-09-17    1        0

2020-09-19    2        0

2020-09-25    0        1

2020-09-29    1        1


查看完整回答
反對 回復(fù) 2023-09-05
  • 2 回答
  • 0 關(guān)注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號