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

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

在 pandas Dataframe(時間序列組)中聚合相同的連接行

在 pandas Dataframe(時間序列組)中聚合相同的連接行

慕萊塢森 2023-05-23 10:51:47
假設(shè)一個時間序列 fe:Time  Hours col1  col2  col310:00     2 True  True  False12:00     1 True  True  False13:00     2 False False False15:00     1 False False False16:00     1 True  True  False17:00     1 True  True  False我想對具有相同布爾值的行進行分組,但前提是它們已連接。結(jié)果應如下所示:Time  Hours col1  col2  col310:00     3 True  True  False13:00     3 False False False16:00     2 True  True  False有什么幫助嗎?
查看完整描述

2 回答

?
繁華開滿天機

TA貢獻1816條經(jīng)驗 獲得超4個贊

如果需要按連續(xù)的布爾值分組,首先按, 然后創(chuàng)建連續(xù)的組shift,然后對沒有 的所有列進行聚合,它按以下方式聚合:anycumsumfirstHourssum


df1 = df.select_dtypes(bool)


g = df1.ne(df1.shift()).any(axis=1).cumsum()

d = dict.fromkeys(df.columns, 'first')

d['Hours'] = 'sum'


df = df.groupby(g).agg(d)

print (df)

    Time  Hours   col1   col2   col3

1  10:00      3   True   True  False

2  13:00      3  False  False  False

3  16:00      2   True   True  False


查看完整回答
反對 回復 2023-05-23
?
至尊寶的傳說

TA貢獻1789條經(jīng)驗 獲得超10個贊

你可以這樣做:


cond = (df[['col1', 'col2', 'col3']] == df[['col1', 'col2', 'col3']].shift()).all(axis=1)

df.groupby(cond[::-1].cumsum()).agg(dict(Time='first',  Hours='sum', 

                                        col1='first', col2="first", col3='first'))

```


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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