前提・実現したいこと
前回お聞きしたものと近い感じなのですが
下記の内容のコンマで区切られたcsvデータがあるのですが
6つの数字(横)でひとくくり
それが10個あるデータ
(数字のデータはソートしてあり数の小さいのから大きいものにならべかえしてあります)
data.csv
2,5,8,9,10,15
1,5,7,9,11,15
1,4,8,10,11,12
5,6,7,13,15,16
8,10,11,13,14
4,5,6,15,17,18
2,4,6,8,10,15
3,6,9,12,15,18
3,5,7,8,11,17
7,9,10,11,12,16
これらを取り込み行を基準にその場所にその数値を入れ込みdata2.csvで出力することは可能でしょうか?
下記の表のように
*黄色の部分は要りません
data2.csv
,2,,,5,,,8,9,10,,,,,15,,,
1,,,,5,,7,,9,,11,,,,15,,,
1,,,4,,,,8,,10,11,12,,,,,,
,,,,5,6,7,,,,,,13,,15,16,,
,,,,,,,8,,10,11,,13,14,,,,
,,,4,5,6,,,,,,,,,15,,17,18
,2,,4,,6,,8,,10,,,,,15,,,
,,3,,,6,,,9,,,12,,,15,,,18
,,3,,5,,7,8,,,11,,,,,,17,
,,,,,,7,,9,10,11,12,,,,16,,
↑
エクセルで開いた時に画像のようになるよう
data.csvをdata2.csv にしたい
該当のソースコード
python
1 2# ↓ 前回教えて頂いたの流用です 3 df = pd.read_csv('data.csv', header=None).fillna(0).astype(int) #data.csv 4 arr = df.to_numpy() 5 6#### ↓ ここの躓き 7 out = np.where((arr==np.arange(arr.max()+1)[:, None, None]).any(2).T, '1', '') 8#### 9 pd.DataFrame(out[:, 1:]).to_csv('data2.csv', header=None, index=None, encoding='utf_8_sig')
試したこと
前回教えて頂いたコードで試行錯誤したのですがのですが肝心な部分が考え付きませんでした
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答4件
あなたの回答
tips
プレビュー