1.実現したいこと
・画像は、野菜の摂取量が記載されたデータです。
各値を3倍し、350g以上の場合をTrue、350以下をFalseとします。
・Trueの場合、0.2をプラス
Falseかつ、野菜の摂取量が0の場合、-0.6をプラス
Falseかつ、野菜の摂取量が1~349の場合、-0.3をプラス
2.ソースコード
from google.colab import auth
from google.auth import default
import gspread
auth.authenticate_user()
creds, _ = default()
gc = gspread.authorize(creds)
worksheet = gc.open_by_key('任意のkey').sheet1
import pandas as pd
rows = worksheet.get_all_values()
header = rows.pop(0)
df = pd.DataFrame.from_records(rows, columns=header)#indexの''は自由に変更
df = df.where(df != '')# 空文字を None に変換しておく
df["野菜"] = df["Vegetables[g]"].astype(int) * 3
vegetables_label = df["野菜"]>=350.0
df["野菜"] = vegetables_label #TrueかFalse
pre_score = 1
veg_score = 0.0
v = df["野菜"].astype(int) #True,Falseを1,0にする
if(v == 1).all():
veg_score = 0.2
else:
if(df["Vegetables[g]"].astype(int) * 3 == 0).all():
veg_score = -0.6
else:
veg_score = -0.3
df["0か1"] = v
df["スコア"] = float(pre_score + veg_score)
3.結果
0か1 スコア
0 0.7
0 0.7
0 0.7
1 0.7
0 0.7
0 0.7
となっています。v=1の時、本来なら1.2になりますが0.7になります。
どうすればいいかわからないです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。