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

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

根據(jù)條件重復(fù)數(shù)據(jù)框行

根據(jù)條件重復(fù)數(shù)據(jù)框行

慕田峪9158850 2021-03-30 13:15:27
我正在尋找一種基于值條件插入重復(fù)行的方法。輸入數(shù)據(jù)集包含以周為單位的客戶價(jià)格和價(jià)格有效期-'price_start_week'和'price_end_week'。想法是通過(guò)添加帶有實(shí)際星期數(shù)的新列來(lái)擴(kuò)展數(shù)據(jù)框,并根據(jù)有效星期數(shù)重復(fù)行。輸入:╔═══════════════╦══════════════════╦════════════════╦═════════════╗║ customer_name ║ price_start_week ║ price_end_week ║ price_value ║╠═══════════════╬══════════════════╬════════════════╬═════════════╣║ A             ║                4 ║              7 ║         500 ║║ B             ║                3 ║              6 ║         600 ║║ C             ║                2 ║              4 ║         700 ║╚═══════════════╩══════════════════╩════════════════╩═════════════╝輸出:+---------------+------------------+----------------+-------------+-------------+| customer_name | price_start_week | price_end_week | actual week | price_value |+---------------+------------------+----------------+-------------+-------------+| A             |                4 |              7 |           4 |         500 || A             |                4 |              7 |           5 |         500 || A             |                4 |              7 |           6 |         500 || A             |                4 |              7 |           7 |         500 || B             |                3 |              6 |           3 |         600 || B             |                3 |              6 |           4 |         600 || B             |                3 |              6 |           5 |         600 || B             |                3 |              6 |           6 |         600 || C             |                2 |              2 |           4 |         700 || C             |                2 |              3 |           4 |         700 || C             |                2 |              4 |           4 |         700 |+---------------+------------------+----------------+-------------+-------------+最好的方法是什么?我在考慮應(yīng)用功能,像這樣:def repeat(a):    if (a['price_start_week']>a['price_end_week']):        return a['price_start_week']-a['price_end_week']    ...df['actual_week']=df.apply(repeat, axis=0)
查看完整描述

1 回答

?
夢(mèng)里花落0921

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

Index.repeat按周GroupBy.cumcount數(shù)之差使用,然后按每組計(jì)數(shù):


a = df['price_end_week'] - df['price_start_week'] + 1

df = df.loc[df.index.repeat(a)].reset_index(drop=True)

df['actual week'] = df.groupby('customer_name').cumcount() + df['price_start_week']

print (df)

   customer_name  price_start_week  price_end_week  price_value  actual week

0              A                 4               7          500            4

1              A                 4               7          500            5

2              A                 4               7          500            6

3              A                 4               7          500            7

4              B                 3               6          600            3

5              B                 3               6          600            4

6              B                 3               6          600            5

7              B                 3               6          600            6

8              C                 2               4          700            2

9              C                 2               4          700            3

10             C                 2               4          700            4


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

添加回答

舉報(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)