itertuplesで行ごとに抽出した値を使って四則演算したい
コード import pandas as pd import numpy as np import csv def calc(x): a = x[0] b = x[1] c = x[2] A = a+b+c B = a*b*c return(A,B) fname = "calc_test" df_test = pd.read_csv("{}.csv".format(fname)) for row in df_test.itertuples(name=None): AB = row[1:] print(AB) print(calc(AB)) print(df_test)
(2, 2, 1)
(6, 6)
(2, 3, 5)
(6, 6)
(2, 9, 2)
(6, 6)
・csvの中身
a b c
0 2 2 1
1 2 3 5
2 2 9 2
(実際はカンマ区切りになります)
試したこと
calc(bb)を定義したあとに、
変数a, b, cそれぞれの値をcsvから読み込んで、
四則演算(式A、式B)を実行したいと考えています。
実際はもっと大規模になるのですが、
小規模にしたものを上記コードになります。
読み込み自体はできているのですが、
1行目のcalc()、2行目のcalc()、・・・をそれぞれ出力できませんでした。
さらに、この演算結果をD列に追加し、CSVファイルに書き込みを行いたいと考えています。
補足情報(FW/ツールのバージョンなど)
python3.7
回答2件
あなたの回答
tips
プレビュー