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

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

如何基于組添加時(shí)間序列列

如何基于組添加時(shí)間序列列

MM們 2023-09-05 20:16:50
關(guān)聯(lián)上面是我使用 python 修改的 CSV 文件示例的鏈接,我需要添加一個(gè)時(shí)間列,如果前一行的日期匹配,則該時(shí)間列增加 1。如果日期更改,時(shí)間將從 8:00:00 重新開始此外,如果“PL Seq”從 G* 更改為 H*,時(shí)間也會(huì)從 8 重新開始。我覺得我的邏輯已經(jīng)很清晰了,只是寫起來有點(diǎn)困難。向 df 'Time' 添加一列,將第一個(gè) 'Time' 值設(shè)置為 8:00:00讀取 df 中的每一行如果日期值 = 上一行的日期值且 pl seq 值第一個(gè)字符 = 第一個(gè)字符,則將時(shí)間值設(shè)置為時(shí)間 +1否則將時(shí)間值設(shè)置為時(shí)間*請(qǐng)注意,我已經(jīng)有了更改訂單 # 的格式和目標(biāo)狀態(tài)日期的代碼當(dāng)前的MODELCHASS,Prod Date,PL SeqM742-021167,20200917,G0005M359-020535,20200917,G0010M742-022095,20200917,G0015M220-001083,20200918,G0400M742-022390,20200918,G0405M907-004747,20200918,H0090M934-005904,20200918,H0095預(yù)期的MODELCHASS,Prod Date,PL Seq,TimeM742 021167,2020-09-17T,G0005,8:00:00M359 020535,2020-09-17T,G0010,8:00:01M742 022095,2020-09-17T,G0015,8:00:02M220 001083,2020-09-18T,G0400,8:00:00M742 022390,2020-09-18T,G0405,8:00:01M907 004747,2020-09-18T,H0090,8:00:00M934 005904,2020-09-18T,H0095,8:00:01@Trenton 我們可以修改這個(gè)如果 H 訂單與 G 訂單的日期相同第 6 行中的當(dāng)前編輯MODELCHASS,Prod Date,PL SeqM742-021167,20200917,G0005M359-020535,20200917,G0010M742-022095,20200917,G0015M220-001083,20200918,G0400M742-022390,20200918,G0405M907-004747,20200917,H0090M934-005904,20200917,H0095預(yù)期編輯MODELCHASS,Prod Date,PL Seq,TimeM742 021167,2020-09-17T,G0005,8:00:00M359 020535,2020-09-17T,G0010,8:00:01M742 022095,2020-09-17T,G0015,8:00:02M220 001083,2020-09-18T,G0400,8:00:00M742 022390,2020-09-18T,G0405,8:00:01M907 004747,2020-09-17T,H0090,8:00:00M934 005904,2020-09-17T,H0095,8:00:01
查看完整描述

1 回答

?
繁花如伊

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

  • 將列轉(zhuǎn)換'Prod Date'為日期時(shí)間

  • 對(duì)數(shù)據(jù)幀進(jìn)行排序'Prod Date','PL Seq'因此'df'與加入的順序相同time_seq。

  • 答案的主要部分是創(chuàng)建一個(gè)包含和 的DateRange列表.groupby.apply

  • .groupbyProd Date第一個(gè)元素'PL Seq'

    • df.groupby(['Prod Date', df['PL Seq'].str[0]])

  • .apply(lambda x: (pd.date_range(start=x.values[0] + pd.Timedelta(hours=8), periods=len(x), freq='s')).time)

    • 到目前為止,添加 8 小時(shí)的 Timedelta,以獲得08:00:00

    • 對(duì)于每個(gè)組,使用 x 中的第一個(gè)值startx.values[0]

    • 的數(shù)量periodslen[x]

    • freq's'幾秒鐘。

    • 這將創(chuàng)建一個(gè)DateRange,從中提取時(shí)間.time

  • 測(cè)試于python 3.10,pandas 1.4.3

import pandas as pd


# setup test dataframe

data = {'MODELCHASS': ['M742-021167', 'M359-020535', 'M742-022095', 'M220-001083', 'M742-022390', 'M907-004747', 'M934-005904'],

        'Prod Date': [20200917, 20200917, 20200917, 20200918, 20200918, 20200918, 20200918],

        'PL Seq': ['G0005', 'G0010', 'G0015', 'G0400', 'G0405', 'H0090', 'H0095']}


df = pd.DataFrame(data)


# convert Prod Date to a datetime column

df['Prod Date'] = pd.to_datetime(df['Prod Date'], format='%Y%m%d')


# sort the dataframe by values so the order will correspond to the groupby order

df = df.sort_values(['Prod Date', 'PL Seq']).reset_index(drop=True)


# groupby Prod Date and the first character of PL Seq

# create a DateRange sequence for each group

# reshape the dataframe

time_seq = (df.groupby(['Prod Date', df['PL Seq'].str[0]])['Prod Date']

            .apply(lambda x: (pd.date_range(start=x.values[0] + pd.Timedelta(hours=8), periods=len(x), freq='s')).time)

            .reset_index(name='time_seq')

            .explode('time_seq', ignore_index=True))


# join the time_seq column to df

df_new = df.join(time_seq.time_seq)


# display(df_new)

    MODELCHASS  Prod Date PL Seq  time_seq

0  M742-021167 2020-09-17  G0005  08:00:00

1  M359-020535 2020-09-17  G0010  08:00:01

2  M742-022095 2020-09-17  G0015  08:00:02

3  M220-001083 2020-09-18  G0400  08:00:00

4  M742-022390 2020-09-18  G0405  08:00:01

5  M907-004747 2020-09-18  H0090  08:00:00

6  M934-005904 2020-09-18  H0095  08:00:01


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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