如何獲取行的副本直到到達某個點

德克·馬夸特

所以我有一個代碼,如果“Date_Numerical”低於 30.5(每月平均天數),我需要在其中創建每一行的副本。我想要的是將“Date_Numerical”減去 30,直到“SCU_KEY”的列值低於 30.5。這是我用來創建一個副本和一個示例數據幀的代碼,但不會超過一個:

def func(row):
   if row['Date_Numerical'] > 30:
        row2 = row.copy()
        return pd.concat([row, row2], axis=1)
   return row

df_2 = pd.concat([func(row) for _, row in df.iterrows()], ignore_index=True, axis=1).T


Original output:

df = pd.DataFrame({'SCU_KEY':         [3, 4, 5, 6],
                   'Date_Numerical':  [70, 20, 15, 110]})

Desired Output:

df_2 = pd.DataFrame({'SCU_KEY':        [3, 3, 3, 4, 5, 6, 6, 6, 6],
                     'Date_Numerical': [70, 40, 10, 20, 15, 110, 80, 50, 20]})

not_speshal

嘗試使用applyexplode

df["Date_Numerical"] = df["Date_Numerical"].apply(lambda x: list(range(x, 0, -30)))
df = df.explode("Date_Numerical").reset_index(drop=True)

>>> df
   SCU_KEY Date_Numerical
0        3             70
1        3             40
2        3             10
3        4             20
4        5             15
5        6            110
6        6             80
7        6             50
8        6             20

如果你想要 30.5 的差異,你可以使用:

df["Date_Numerical"] = df["Date_Numerical"].apply(lambda x: [i/10 for i in range(x*10, 0, -305)])
df = df.explode("Date_Numerical").reset_index(drop=True)

>>> df
   SCU_KEY Date_Numerical
0        3           70.0
1        3           39.5
2        3            9.0
3        4           20.0
4        5           15.0
5        6          110.0
6        6           79.5
7        6           49.0
8        6           18.5

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

獲取行總和直到某個點

Python:我如何拆分()每個符號直到到達分隔符

Cypress 獲取某個元素的 ID

獲取某個圓的像素值?

我如何在 SQL 中使用正則表達式獲取某個字段中所有出現的列表

如何獲取某個用戶的組,然後按某個名稱過濾組?

在某個索引之後獲取元組列表中的所有值,並按第二個元素查找高點和低點

Xpath:如何組合這兩個子節點來獲取父節點?

SQL Server 獲取某個行值作為列值

如何在 Visual Basic 中以某種格式獲取個位數的天數?

如何獲取整數直到 n 行

獲取從某個接口擴展的服務

Cypress,獲取某個屬性的數值

從cherry pick獲取文件到某個提交

如何在另一個場景godot中獲取節點?

(JavaFX) 如何獲取一條線上每個點的數組?

如何在某個點(75%)開始動畫?

如何有效地獲取小於某個索引號的值(從列表中)的計數?

如何消除某些值(零)並從某個數據組中獲取最大值?

如何返回達到某個閾值的日期

獲取每個節點的最大樹深度

使用 Aggregate 獲取多個大於某個值的整數

獲取一個變量在 data.frame 列 R 中達到最大值的行號

通過正則表達式獲取兩個模式之間的所有行

獲取某個組的列中空單元格的百分比

獲取對像在 Pandas 中停留在某個狀態的平均時間

獲取 Dart 中某個索引後的所有元素

如果在顫動中獲取某個日期,則禁用按鈕

獲取 SQL Server 中某個字符前後的所有內容