22/06/05 15:01:54.57 v/p+BagL.net
>>4
sqlでの抽出は知らんけど、他の方法で抽出でけた
import pandas as pd
data=[
[0,0,2470,0,0,27],
[0,0,1570,0,0,0],
[0,1580,1440,0,35,31],
[0,1290,2878,0,0,31],
[2522,885,940,31,0,0],
[1527,1057,1639,28,5,31],
[1527,1457,1639,28,26,31]]
df = pd.DataFrame(data)
def check(row):
d = {1:25, 2:20, 3:15}
return all(i[1] > d[len(row)] for i in row)
# 各PRICEと各P(%)の組をzipで作って、その中からPRICEがゼロのものを削除したものをcheck関数でチェック
[check([k for k in j if k[0]>0]) for j in [list(zip(i[:3], i[3:])) for i in df.values.tolist()]]
[True, False, True, False, False, False, True] # ブールインデックス作成
df2 = df[_] # ブールインデックスで抽出
df2.values.tolist()
[[0, 0, 2470, 0, 0, 27], [0, 1580, 1440, 0, 35, 31], [1527, 1457, 1639, 28, 26, 31]]