如何判斷客戶的銷售額是否存在連續3個月都≥500元。
如果符合條件在最后一列寫上:符合條件;反之,在最后一列寫上:不合符。
請大神幫忙注釋一下思路和方法,萬分感謝。
uj5u.com熱心網友回復:
我怎么記得有過類似的問題呢uj5u.com熱心網友回復:
哈哈 是的 同樣的資料假設,但是不同的計算方式。
uj5u.com熱心網友回復:
import pandas as pd
chengji = [['客戶A', 0,0,0,0,600,800,700], ['客戶B', 400,0,0,500,800,900,0], ['客戶C', 0,800,900,500,0,50,50],]
columns=['客戶名','1月','2月','3月','4月','5月','6月','7月',]
data=https://bbs.csdn.net/topics/pd.DataFrame(chengji ,columns=columns)
data['判斷']=""
chengjiindexs=data.index.tolist()
for index in chengjiindexs:
data1=data.iloc[index].tolist()[1:-1]
count=0
for num,data111 in enumerate(data1):
if float(data111)>0:
for num1 in data1[num:]:
if num1>=500:
count+=1
else:
if data.iloc[[index],[-1]].values=='符合條件':
pass
else:
count=0
# break
if count>=3:
data.iloc[[index],[-1]]='符合條件'
uj5u.com熱心網友回復:
客戶名 1月 2月 3月 4月 5月 6月 7月 判斷0 客戶A 0 0 0 0 600 800 700 符合條件
1 客戶B 400 0 0 500 800 900 0 符合條件
2 客戶C 0 800 900 500 0 50 50 符合條件
uj5u.com熱心網友回復:
import pandas as pd
chengji = [['客戶A', 0,0,0,0,600,800,700], ['客戶B', 400,0,0,500,800,00,0], ['客戶C', 0,800,900,500,0,50,50],]
columns=['客戶名','1月','2月','3月','4月','5月','6月','7月',]
data=https://bbs.csdn.net/topics/pd.DataFrame(chengji ,columns=columns)
data['判斷']=""
chengjiindexs=data.index.tolist()
for index in chengjiindexs:
data1=data.iloc[index].tolist()[1:-1]
count=0
for num,data111 in enumerate(data1):
if float(data111)>0:
for num1 in data1[num:]:
if num1>=500:
count+=1
else:
if data.iloc[[index],[-1]].values=='符合條件':
pass
else:
count=0
# break
if count>=3:
data.iloc[[index],[-1]]='符合條件'
if data.iloc[[index],[-1]].values=='':
data.iloc[[index],[-1]]='不符合'
print(data)
uj5u.com熱心網友回復:
import pandas as pd
chengji = [['客戶A', 0,0,0,0,600,800,700], ['客戶B', 400,0,0,500,0,0,0], ['客戶C', 0,0,0,0,0,50,50], ['客戶D', 0,500,600,700,0,200,30]]
columns=['客戶名','1月','2月','3月','4月','5月','6月','7月',]
data=https://bbs.csdn.net/topics/pd.DataFrame(chengji ,columns=columns)
data1 = data.applymap(lambda x: 1 if str(x).isdigit() and x > 0 else x)
data['判斷'] = data1.apply(lambda x :'符合' if 3 in [x[_] +x[_+1] +x[_+2] for _ in range(1, 6)] else '不符合', axis=1)
print(data)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/29991.html
