下のような画像の感じでテキストファイルの一列目に日付、二列目にその当時の為替レート(ドル円相場)の数値が与えられています。
どの時点で1ドル購入して、どこで売却すれば利益が最大になるか求めたいです(最大の利益が何円かだけ求めたい)。
自分の考え方として、2列目の数値の一番上の行の数値とそれ以下の行の数値との差をそれぞれ全部求める。そして、その差をリスト化して整理してやってリストから最大値を取り出すというのを一行ずつずらして実行し、取り出した最大値のリストを作って最大値のリストから最大値を求めれば良いと考えています。ですが、その際にpandasを使ってラベル指定で計算することになるのですが、画像のようにラベルがないのでこの手法が使えません。どのようにすれば、特定の行の計算をラベルなしで行えるのでしょうか
python
1コード 2import csv 3import pandas as pd 4df = pd.read_csv("yen_usd.csv",encoding="utf-8") 5with open("yen_usd.csv","r",encoding="utf-8") as doll: 6 reader = csv.reader(doll) 7 count = 0 8 for line in doll: 9 count+=1 10 #count = 行数 11`` 12このような感じで、行数は取得できても、セルを指定することができないのでこまっています。 13for文を2回用いるそうなのですが、アルゴリズムを工夫して1回にも出来るみたいです。 14それぞれの行の数値について、それ以下の行の数値との差を求める計算を行うから2回ループが生まれると考えています。 15よろしければ、ご回答よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。