[英]counting column values based on strings
我有兩列,第一列具有字符串YES或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.