前提・実現したいこと
Pythonでたびたび質問させていただいております。
上記画像のような対称行列やゼロ埋め処理がされている(ヘッダーやカラムがない)csvファイルから、下記画像のように不要な部分を削除したり、NaNで埋めるなどの処理をしたものを取得したいです。具体的には、pythonの(出来れば)pandasを用いて、
発生している問題・エラーメッセージ
通常の行列(df)から長方形型に一部を切り取りたい場合は
df.iloc[0:5,6:8]
とすれば04行目の67列部分を取得できるのですが、今回のような取得したい形が山型だったりする場合に、行列の要素を1個ずつ取得する方法であったり途中の列を抜かして要素を取得する方法が分からずに困っている状態です。
該当のソースコード
9.1113 5.8045 0.17612 -4.7354 0 0 0 0 245.54 161.36 4.739 -126.84 5.8045 11.503 7.4385 0.53569 0 0 0 0 161.36 318.23 206.19 18.775 0.17612 7.4385 14.414 7.5705 0 0 0 0 4.739 206.19 425.68 230.57 -4.7354 0.53569 7.5705 10.136 0 0 0 0 -126.84 18.775 230.57 292.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
試したこと
pandasのDataFrame.ilocに関するドキュメント(https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html)をのぞいたのですが、自分の求めているような操作は見つからなかったです
また、0要素に関してはNaNに値を置き換えるだけならdf.replace([0,0],np.nan)を用いればいいのかな?と考えていますが、可能であれば前提・実現したいことの2枚目の画像のように左詰めをしたいと考えております。
補足情報(FW/ツールのバージョンなど)
以下、バージョンです
pandas==0.25.1
numpy==1.17.2
scipy==1.3.1
scikit-learn==0.21.3
Python 3.7.3
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。