実現したいこと
こちらの関連質問です。
sample.csvの中身は以下の通りです。(これは具体例として挙げただけで、実際の行列はもっと巨大です)
1 0
2 3
今、各行の0でない要素だけの行方向位置、列方向位置、値をファイルに書き込みたいです。
「該当のソースコード」を実行すると、以下の画面になります。
「試したこと」まではできましたが、どのように直したら良いか分かりません。どなたか教えてください。
該当のソースコード
python
1import numpy as np 2import pandas as pd 3import csv 4 5lst = pd.read_csv("sample.csv",header=None).values.tolist() 6print(lst)#[[1, 0], [2, 3]] 7 8nz = [i.tolist() for i in np.nonzero(lst)] 9for j, i in zip(*nz): 10 print(f'{j=}') 11 print(f'{i=}') 12 print(lst[j][i], end='\n\n')
試したこと
下記のコードでは
ans0.txtが
0
0
1
ans1.txtが
1
1
3
になってしまいました
ans1.txtに
1
0
2
が書き込む方法を教えてください。
python
1for j, i in zip(*nz): 2 filename = "ans%d.txt" % j 3 file = open(filename, 'w') 4 file.write(str(j)+'\n') 5 file.write(str(i)+'\n') 6 file.write(str(lst[j][i])+'\n') 7 file.write('\n')

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2025/02/26 05:21