簡體   English   中英

根據條件追加新行 python pandas

[英]appending new rows based on conditions python pandas

需要根據條件向當前 df 添加新行。

當前df: 在此處輸入圖像描述

我想要做的是檢查銷售訂單如果包含多個訂單,則將新行添加到 df 並更新所有列與當前行保持相同,但需要更新計划班次生產(m)和實際班次生產(m)基於當前行的 AvgPlannedShiftProd 和 AvgActualShiftProd 最終目標是為每一行維護一個銷售訂單。

東風:

T={'Date': {1195: '2021-05-24',
  1196: '2021-05-24',
  1197: '2021-05-25',
  1198: '2021-05-25',
  1199: '2021-05-26',
  1200: '2021-05-26'},
 'Machine No': {1195: 'M-1',
  1196: 'M-1',
  1197: 'M-1',
  1198: 'M-1',
  1199: 'M-1',
  1200: 'M-1'},
 'Shift': {1195: 'Day',
  1196: 'Night',
  1197: 'Day',
  1198: 'Night',
  1199: 'Day',
  1200: 'Night'},
 'Sales Order': {1195: 'Z21',
  1196: 'A1',
  1197: 'B1-B2-B3-B4-B5',
  1198: 'B1-B2-B3-B4-B5',
  1199: 'B1-B2-B3-B4-B5',
  1200: 'B1-B2-B3-B4-B5'},
 'Quality No': {1195: 'C100',
  1196: 'C100',
  1197: 'C100',
  1198: 'C100',
  1199: 'C100',
  1200: 'C100'},
 'Planned Shift Production (m)': {1195: 0,
  1196: 0,
  1197: 4240,
  1198: 4232,
  1199: 0,
  1200: 0},
 'Actual Shift Production (m)': {1195: 3611,
  1196: 3384,
  1197: 3097,
  1198: 2989,
  1199: 0,
  1200: 0},
 'NoOfSalesOrders': {1195: 1.0,
  1196: 1.0,
  1197: 5.0,
  1198: 5.0,
  1199: 5.0,
  1200: 5.0},
 'AvgPlannedShiftProd': {1195: 0.0,
  1196: 0.0,
  1197: 848.0,
  1198: 846.4,
  1199: 0.0,
  1200: 0.0},
 'AvgActualShiftProd': {1195: 3611.0,
  1196: 3384.0,
  1197: 619.4,
  1198: 597.8,
  1199: 0.0,
  1200: 0.0}}
pd.DataFrame.from_dict(T)

預期 Output 樣品:

在此處輸入圖像描述

提前謝謝!!!!!!!!!!

我希望我已經正確理解了您的問題:您可以拆分Sales Order列,更新"Planned Shift Production (m)""Actual Shift Production (m)"列和.explode()

df["Sales Order"] = df["Sales Order"].str.split("-")
df[["Planned Shift Production (m)", "Actual Shift Production (m)"]] = df[
    ["AvgPlannedShiftProd", "AvgActualShiftProd"]
]

print(df.explode("Sales Order"))

印刷:

            Date Machine No  Shift Sales Order Quality No  Planned Shift Production (m)  Actual Shift Production (m)  NoOfSalesOrders  AvgPlannedShiftProd  AvgActualShiftProd
1195  2021-05-24        M-1    Day         Z21       C100                           0.0                       3611.0              1.0                  0.0              3611.0
1196  2021-05-24        M-1  Night          A1       C100                           0.0                       3384.0              1.0                  0.0              3384.0
1197  2021-05-25        M-1    Day          B1       C100                         848.0                        619.4              5.0                848.0               619.4
1197  2021-05-25        M-1    Day          B2       C100                         848.0                        619.4              5.0                848.0               619.4
1197  2021-05-25        M-1    Day          B3       C100                         848.0                        619.4              5.0                848.0               619.4
1197  2021-05-25        M-1    Day          B4       C100                         848.0                        619.4              5.0                848.0               619.4
1197  2021-05-25        M-1    Day          B5       C100                         848.0                        619.4              5.0                848.0               619.4
1198  2021-05-25        M-1  Night          B1       C100                         846.4                        597.8              5.0                846.4               597.8
1198  2021-05-25        M-1  Night          B2       C100                         846.4                        597.8              5.0                846.4               597.8
1198  2021-05-25        M-1  Night          B3       C100                         846.4                        597.8              5.0                846.4               597.8
1198  2021-05-25        M-1  Night          B4       C100                         846.4                        597.8              5.0                846.4               597.8
1198  2021-05-25        M-1  Night          B5       C100                         846.4                        597.8              5.0                846.4               597.8
1199  2021-05-26        M-1    Day          B1       C100                           0.0                          0.0              5.0                  0.0                 0.0
1199  2021-05-26        M-1    Day          B2       C100                           0.0                          0.0              5.0                  0.0                 0.0
1199  2021-05-26        M-1    Day          B3       C100                           0.0                          0.0              5.0                  0.0                 0.0
1199  2021-05-26        M-1    Day          B4       C100                           0.0                          0.0              5.0                  0.0                 0.0
1199  2021-05-26        M-1    Day          B5       C100                           0.0                          0.0              5.0                  0.0                 0.0
1200  2021-05-26        M-1  Night          B1       C100                           0.0                          0.0              5.0                  0.0                 0.0
1200  2021-05-26        M-1  Night          B2       C100                           0.0                          0.0              5.0                  0.0                 0.0
1200  2021-05-26        M-1  Night          B3       C100                           0.0                          0.0              5.0                  0.0                 0.0
1200  2021-05-26        M-1  Night          B4       C100                           0.0                          0.0              5.0                  0.0                 0.0
1200  2021-05-26        M-1  Night          B5       C100                           0.0                          0.0              5.0                  0.0                 0.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM