パンダの列名と行インデックスを変更するにはどうすればよいですか?
データのクリーンアップやデータサイエンスの探索的データ分析を行う際に行う可能性のある最も一般的な操作の1つは、列名または行名の操作/修正です。
この投稿では、
- パンダデータフレームの列の名前を変更する方法は?
- パンダデータフレームの行名または行インデックスを変更する方法は?
最初にパンダをロードしましょう。
# import pandas>import pandas as pd
ソフトウェア大工のウェブサイトからのギャップマインダーデータを使用しましょう。
# link to gapminder datadata_url = "http://bit.ly/2cLzoxH"# read data from url as pandas dataframe>gapminder = pd.read_csv(data_url)
head関数を使用して、データの最初の3行であるデータフレームの列の名前を確認しましょう。
>print(gapminder.head(3)) country year pop continent lifeExp gdpPercap0 Afghanistan 1952 8425333 Asia 28.801 779.4453141 Afghanistan 1957 9240934 Asia 30.332 820.8530302 Afghanistan 1962 10267083 Asia 31.997 853.100710
列関数を使用して列名を取得することもできます。
>gapminder.columnsIndex(, dtype="object")
パンダで列の名前を変更する方法
1つパンダの列名を変更できます少なくとも2つの方法でデータフレーム。 Pandasの列の名前を変更する1つの方法は、Pandasのdf.columnsを使用して、新しい名前を直接割り当てることです。
たとえば、リストに列の名前がある場合は、リストを列名に割り当てることができます。直接。
gapminderデータフレームの列を変更するには、新しい列名のリストを次のようにgapminder.columnsに割り当てることができます。
>gapminder.columns =
これにより、リスト内の名前がデータフレーム「gapminder」の列名として割り当てられます。head()関数を使用して、データフレームに新しい列名があるかどうかを確認できます。
>gapminder.head(3) country year population continent life_exp gdp_per_cap0 Afghanistan 1952 8425333 Asia 28.801 779.4453141 Afghanistan 1957 9240934 Asia 30.332 820.8530302 Afghanistan 1962 10267083 Asia 31.997 853.100710
列名を変更するこのアプローチの問題は、データフレーム内のすべての列の名前を変更する必要があることです。変更する場合は、1つの名前を変更するだけでは機能しません。
パンダの名前変更機能を列の名前変更に変更
パンダの列名を変更するもう1つの方法は、名前変更機能を使用することです。名前変更を使用して列名を変更する方法は、以前よりもはるかに優れています。ちゃんができる特定の列の名前を簡単に作成できます。また、すべての列名を変更する必要はありません。
Pandasの名前変更機能を使用して列名を変更するには、マッパー、キーとして古い名前、値として新しい名前を持つ辞書を指定する必要があります。これは、辞書を使用して多くの列名を変更する例です。また、inplace = Trueを使用して列名をその場で変更します。
名前変更機能を使用する最大の利点の1つは、名前変更を使用して必要な数の列名を変更できることです。
単一の列の名前を変更しましょう。
パンダの名前変更関数は、辞書の代わりに関数を入力として受け取ることもできます。たとえば、ラムダ関数を記述して、現在の列名を取得し、新しい列名の最初の3文字のみを考慮することができます。
Pandasで行名/インデックスを変更する方法は?
パンダの名前変更関数のもう1つの優れた点は、これを使用して行インデックスまたは行名を変更できることです。
インデックス引数を使用して指定するだけで、次のようになります。列ではなくインデックスを変更します。
たとえば、gapminderデータフレームで行名0と1を「ゼロ」と「1」に変更するには、古い行インデックス名をキーとして、新しい行を使用して辞書を作成します。値としてインデックスを作成します。
最初の2行だけが意図したとおりに新しい名前になっていることがわかります。
パンダで列名と行インデックスを同時に変更するにはどうすればよいですか?
パンダの名前変更関数を使用すると、列とインデックスの両方の引数を使用して、対応するマッパー辞書で関数の名前を変更することにより、列名と行名の両方を同時に変更することもできます。
列名「lifeExp」を変更しましょう。 「life_exp」に、行インデックス「0 & 1」から「zeroandone」に。
Pandasは初めてですか?そして最近パンダを始めましたか?新しいByteSized Pandas101チュートリアルをご覧ください。