簡體   English   中英

根據字符串計算列值

[英]counting column values based on strings

我有兩列,第一列具有字符串YES或NO,另一列具有數字值。 我想創建一個新列,其值基於第二列中的乘法值。

  • 忽略第一個YES之后的YES行
  • 忽略第一個NO之后的帶有NO的行
  • 將第一個“是”與第一個“否”相乘。

實際數據框

COL1 =['YES','YES','NO','YES','YES','YES','YES','NO','YES','YES','NO',]
COL2 = [1,2,6,3,5,4,7,1,7,2,2]

所需的dataFrame

   |COL1|COL2|COL3|

    |YES|1|0|
    |YES|2|0|
    |NO|6|6|
    |YES|3|18|
    |YES|5|1|
    |YES|4|1|
    |YES|7|1|
    |NO|1|3|
    |YES|7|7|
    |YES|2|1|
    |NO|2|14|

假設這是您的數據結構:

data=[['yes', 1], ['yes','2'], ...]

last等於不可忽略的數據,在這種情況下,第一個“是”為data [0]。

while last[0] == data[index][0]:
    data[index].append(0)
    index++

要解決乘法問題,請將append(0)替換為append(last[1] * data[index][1])然后繼續到結尾索引到達數據結尾。

並且由於前兩個“ yes”和值“ 1”之間似乎存在一些差異,因此該標記也應該不難拋出“ previous”標記。

暫無
暫無

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

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