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

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

從另一個 Dataframe 填充矩陣

從另一個 Dataframe 填充矩陣

月關(guān)寶盒 2023-12-26 15:54:42
我是Python初學(xué)者。我在循環(huán)填充缺勤矩陣時遇到問題。缺席矩陣:beginning of 2020索引表示從到 的日期today,列表示USER IDs。數(shù)據(jù)框如下:ID_USER  NOM      PRENOM      DATE_first         DATE_last1        X        X           30/05/2020 00:00   01/06/2020 23:591        X        X           01/06/2020 00:00   02/06/2020 23:592        X        X           01/06/2020 00:00   03/06/2020 23:59和我想要的結(jié)果:DATE          user1    user229/05/2020    0        030/05/2020    1        001/06/2020    1        102/06/2020    1        103/06/2020    0        1目標(biāo)是用1和填充缺席矩陣0。 當(dāng)和1之間缺少 ID 時。DATE_DEBUT_ABSENCEDATE_FIN_ABSENCE例子 :如果 Dataframe 中和ID_USER=1之間不存在:2020/01/012020/01/05在沒有矩陣的情況下columns = 1索引:2020/01/01 = 12020/01/02 = 12020/01/03 = 12020/01/04 = 12020/01/05 = 1這是我開始的代碼:for i in agenda.columns:    for j  in absence_df.ID_USER:        if i==j and  agenda.index[i]==absence_df.iloc[j,4]:            agenda.index[i]==1        else :            print('false')    j=j+1     i= i+1              break                          print(agenda)
查看完整描述

1 回答

?
森欄

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個贊

我假設(shè)你的日期是日期時間格式,盡管我不確定這在第一次嘗試時是否有效(日期在 python 中很棘手)。如果您可以共享數(shù)據(jù)集的樣本,而不僅僅是快照,那就更好了......


import datetime

import pandas as pd


start = datetime.date(2020, 1, 1)

end = datetime.date(2020,1,5)

daterange = pd.date_range(start, end)


users = sorted(list(set(df.ID_USER)))


agenda = pd.DataFrame(index=daterange, columns=users)

agenda.fillna(0, inplace=True)


for date in date_range:

  ix = df[

    (df.DATE_first < date) & (date < df.DATE_last)

  ].index

  users_absent = df.loc[ix, 'ID_USER'].tolist()

  agent.loc[date, users_absent] = 1


查看完整回答
反對 回復(fù) 2023-12-26
  • 1 回答
  • 0 關(guān)注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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