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

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

Pandas - 按索引向前和向后填充

Pandas - 按索引向前和向后填充

Cats萌萌 2023-04-18 11:06:46
我有一個(gè)具有這種整體結(jié)構(gòu)的數(shù)據(jù)框:( 我知道。它可能會更好,但這是我必須使用的:)| patient_id | inclusion_timestamp | pre_event_1      | post_event_1     | post_event_2     ||------------|---------------------|------------------|------------------|------------------|| 1          | NaN                 | 27-06-2020 12:26 | NaN              | NaN              || 1          | 28-06-2020 13:05    | NaN              | NaN              | NaN              || 1          | NaN                 | NaN              | 29-06-2020 14:00 | NaN              || 1          | NaN                 | NaN              | NaN              | 29-06-2020 23:57 || 2          | NaN                 | 29-06-2020 10:11 | NaN              | NaN              || 2          | 29-06-2020 18:26    | NaN              | NaN              | NaN              || 2          | NaN                 | NaN              | 30-06-2020 19:36 | NaN              || 2          | NaN                 | NaN              | NaN              | 31-06-2020 21:20 || 3          | NaN                 | 29-06-2020 06:35 | NaN              | NaN              || 3          | NaN                 | 29-06-2020 07:28 | NaN              | NaN              || 3          | 30-06-2020 09:06    | NaN              | NaN              | NaN              || 3          | NaN                 | NaN              | NaN              | 01-07-2020 12:10 |等等。我知從 inclusion_timestamp 進(jìn)行計(jì)算的唯一方法是從 inclusion_timestamp 向前填充。但是,這會導(dǎo)致 pre_event_1 字段的計(jì)算錯(cuò)誤,因?yàn)樗牧型ǔT谟?jì)算值之前。我認(rèn)為答案是遍歷索引列,然后在每個(gè) patient_id 中應(yīng)用向前和向后填充,但我無法讓我的代碼工作......
查看完整描述

1 回答

?
三國紛爭

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

DataFrame.groupby在列上使用patient_id并使用applytoffillbfill

df['inclusion_timestamp']?=?df.groupby('patient_id')['inclusion_timestamp']\
??????????????????????????????.apply(lambda?x:?x.ffill().bfill())

DataFrame.groupby或者使用with的另一個(gè)想法Series.combine_first

g?=?df.groupby('patient_id')['inclusion_timestamp']
df['inclusion_timestamp']?=?g.ffill().combine_first(g.bfill())

使用兩個(gè)連續(xù)的另一個(gè)想法Series.groupby

df['inclusion_timestamp']?=?df['inclusion_timestamp'].groupby(df['patient_id'])\
???????????????????????????.ffill().groupby(df['patient_id']).bfill()

結(jié)果:

? ? patient_id inclusion_timestamp? ? ? ?pre_event_1? ? ? post_event_1? ? ? post_event_2

0? ? ? ? ? ? 1? ? 28-06-2020 13:05? 27-06-2020 12:26? ? ? ? ? ? ? ?NaN? ? ? ? ? ? ? ?NaN

1? ? ? ? ? ? 1? ? 28-06-2020 13:05? ? ? ? ? ? ? ?NaN? ? ? ? ? ? ? ?NaN? ? ? ? ? ? ? ?NaN

2? ? ? ? ? ? 1? ? 28-06-2020 13:05? ? ? ? ? ? ? ?NaN? 29-06-2020 14:00? ? ? ? ? ? ? ?NaN

3? ? ? ? ? ? 1? ? 28-06-2020 13:05? ? ? ? ? ? ? ?NaN? ? ? ? ? ? ? ?NaN? 29-06-2020 23:57

4? ? ? ? ? ? 2? ? 29-06-2020 18:26? 29-06-2020 10:11? ? ? ? ? ? ? ?NaN? ? ? ? ? ? ? ?NaN

5? ? ? ? ? ? 2? ? 29-06-2020 18:26? ? ? ? ? ? ? ?NaN? ? ? ? ? ? ? ?NaN? ? ? ? ? ? ? ?NaN

6? ? ? ? ? ? 2? ? 29-06-2020 18:26? ? ? ? ? ? ? ?NaN? 30-06-2020 19:36? ? ? ? ? ? ? ?NaN

7? ? ? ? ? ? 2? ? 29-06-2020 18:26? ? ? ? ? ? ? ?NaN? ? ? ? ? ? ? ?NaN? 31-06-2020 21:20

8? ? ? ? ? ? 3? ? 30-06-2020 09:06? 29-06-2020 06:35? ? ? ? ? ? ? ?NaN? ? ? ? ? ? ? ?NaN

9? ? ? ? ? ? 3? ? 30-06-2020 09:06? 29-06-2020 07:28? ? ? ? ? ? ? ?NaN? ? ? ? ? ? ? ?NaN

10? ? ? ? ? ?3? ? 30-06-2020 09:06? ? ? ? ? ? ? ?NaN? ? ? ? ? ? ? ?NaN? ? ? ? ? ? ? ?NaN

11? ? ? ? ? ?3? ? 30-06-2020 09:06? ? ? ? ? ? ? ?NaN? ? ? ? ? ? ? ?NaN? 01-07-2020 12:10

性能(使用 測量timeit):


df.shape

(1200000, 5)


%%timeit -n10 @Method 1 (Best Method)

263 ms ± 1.72 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)


%%timeit -n10 @Method 2

342 ms ± 1.58 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)


%%timeit -n10 @Method3

297 ms ± 4.83 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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