前提・実現したいこと
pythonのcsvファイルを利用した範囲指定での計算
pythonでpandasを用いてプログラムを作っているのですが、エラーメッセージが出てしまいます。
下記のようなプログラムを作りたいと考えています。
index A B
1 1 0
2 0 0
3 1 2 (=A1+A2+A3)
4 0 1 (=A2+A3+A4)
5 0 1 (=A3+A4+A5)
. . .
. . .
. . .
1500 1 1(=A1498+A1499+A1500)
発生している問題・エラーメッセージ
TypeError: 'int' object is not subscriptable
該当のソースコード
python
1test1 = pd.read_csv("test1.csv",encoding="shift-jis",index_col = 0) 2tmp1 = [0 for i in range(len(test1))] 3 4test_l1 = test1["A"].to_list() 5for i, dat1 in enumerate(test_l1): 6 if i >= 3: 7 tmp1[i] = dat1[i] + dat1[i-1] + dat1[i-2] 8 else: 9 tmp1[i] = 0 10 11df1 = pd.read_csv("test1.csv",encoding="shift-jis",header = 0) 12df1["B"] = tmp1 13df1.to_csv("test1.csv",columns=['1', '2', '3',"4","5","A","B"],encoding="shift-jis") 14 15
試したこと
調べてみて、intを付けてみたり、別の変数で定義してみましたがうまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
pythonのver3.9.6を使用しています。
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/23 11:29