2017-11-17 8 views
0

私は名前のリストを使ってパンダのデータフレームの列名を変更しようとしています。次のコードが使用されている:pandasの列名を変更するには名前のリストを使用したDataframe?

df.rename(columns = list_of_names, inplace=True) 

私は「リストオブジェクトが呼び出すことはできません」というエラーメッセージが表示され、タイプエラーを毎回だが。 これはなぜ起こるのですか?そして、この問題を解決するために私は何ができますか? ありがとうございます。

+0

ことができますあなたが渡した 'list_of_names'を共有します。 – JGC

+0

TypeErrorを明らかにするためにコードをもっと共有する必要があるかもしれません。私はそれがこのコード行には関係していないと思う。スタックトレースも役に立ちます。 – JGC

+0

@JGC私は答えを得た。私は名前を変更するために辞書の代わりにスカラー(リスト)を使用しました。どうやら、series.namesを変更します。 – koliyat9811

答えて

3

あなただけの列が属性更新

df.columns = ['Leader', 'Time', 'Score'] 
+0

Snap。素敵な答え:) – JGC

+0

ありがとう、それは働いた。 df.dataframeがうまくいかない理由は何ですか? – koliyat9811

+0

df.dataframeはなぜ機能しないのですか?明確ではありません。 –

1

を使用することができます。

df.columns = list_of_names 
2

あなたがrenameが必要な場合(lは、名前のリストであるに変更する必要があります)

df.rename(columns=dict(zip(df.columns,l))) 
+0

ありがとうございます。あなたの答えは私に適切な洞察を与えます。 documnet(http://pandas.pydata.org/pandas-docs/version/0.20.3/generated/pandas.DataFrame.rename.html)が私が 'list-like'と 'dict'を使うことができる理由を説明できますか? 「列」のための「like」。それで、私もリストを使うことができるのですよね? dictに加えて。 – koliyat9811

+1

関数の名前を変更するためにリスト(スカラー)を渡すと、Series.name属性が変更されるためです。軸値(列の値)を変更するために名前を変更するにはdictを渡す必要があります –

+0

@ koliyat9811あなたはPrakashのコメントをチェックすることができます – Wen

関連する問題