Pythonを勉強中に以下の問題にあたりました。
後述するコードは決められた行列数のリストデータをDataframeに変換し、ラベルの名称を変更するというものです。しかし、出力を見ると行ラベルだけ変更され、列ラベルは最後の一つしか変更されませんでした。これはどのようにすれば修正できるのでしょうか。
以下がコードを出力です。
import math import pandas as pd n, m = 5, 6 data = [[2.5, 5.0, -1.0, 3.0, -1.0, -1.0], [5.0, 3.0, 3.0, -1.0, 2.0, 3.0], [2.8, 4.5, 3.0, 2.8, 1.0, 3.6], [1.0, 4.0, -1.0, -1.0, 2.0, 3.0], [1.0, 1.0, 1.0, 1.0, 1.0, -1.0]] df = pd.DataFrame(data) print(df) for i in range(n): df_new = df.rename(index = {i : f"row_{i}"}) for j in range(m): df_new = df.rename(columns = {j : f"col_{j}"}) print(df_new)
0 1 2 3 4 5
0 2.5 5.0 -1.0 3.0 -1.0 -1.0
1 5.0 3.0 3.0 -1.0 2.0 3.0
2 2.8 4.5 3.0 2.8 1.0 3.6
3 1.0 4.0 -1.0 -1.0 2.0 3.0
4 1.0 1.0 1.0 1.0 1.0 -1.0
0 1 2 3 4 col_5
row_0 2.5 5.0 -1.0 3.0 -1.0 -1.0
row_1 5.0 3.0 3.0 -1.0 2.0 3.0
row_2 2.8 4.5 3.0 2.8 1.0 3.6
row_3 1.0 4.0 -1.0 -1.0 2.0 3.0
row_4 1.0 1.0 1.0 1.0 1.0 -1.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。