Python・Pandas入門:DataFrameから列(カラム)を選択する方法
PandasのDataFrameから特定の列(カラム)を抽出したい場合は、角括弧 [ ] を使って列名を指定するだけで簡単に選択できます。特別な関数は不要で、以下のように書くだけです。
dataFrame['ColumnName']
この記事では、実際のコード例とともに、DataFrameから列を選択する基本的な方法をわかりやすく解説します。
必要なライブラリのインポート
まず、Pandasライブラリをインポートします。
import pandas as pd
サンプルDataFrameの作成
次に、動作確認用のDataFrameを作成します。ここでは「Car」(車種)と「Units」(台数)の2つの列を持つデータを用意しました。
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
}
)単一の列を選択する方法
1つの列だけを取り出したい場合は、角括弧の中に列名を文字列で指定します。ここでは「Car」列を選択しています。
dataFrame['Car']
なお、[[ ]] のように二重の角括弧を使うと、複数の列を同時に選択することも可能です。
dataFrame[['Car', 'Units']]
サンプルコード
実際に動作するコード全体は以下の通りです。
import pandas as pd
# DataFrameを作成
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
}
)
print("DataFrame ...\n", dataFrame)
# 単一の列を選択して表示
print("\nSelecting and displaying only a single column = \n", dataFrame['Car'])実行結果
上記のコードを実行すると、次のような出力が得られます。
DataFrame ...
Car Units
0 BMW 100
1 Lexus 150
2 Audi 110
3 Mustang 80
4 Bentley 110
5 Jaguar 90
Selecting and displaying only a single column =
0 BMW
1 Lexus
2 Audi
3 Mustang
4 Bentley
5 Jaguar
Name: Car, dtype: objectこのように、列名を角括弧で指定するだけで、該当する列がSeriesとして取り出せます。DataFrameの列操作はデータ分析の基本となる処理なので、まずはこの書き方をしっかり押さえておきましょう。
-
Python Pandas:read_csvのskipinitialspaceでCSV読み込み時の先頭スペースをスキップする方法
PandasでCSVの先頭スペースをスキップするには?PandasでDataFrameを読み込む際、データの先頭にある余分な空白(初期スペース)を取り除きたい場合は、read_csv()メソッドのskipinitialspaceパラメータを使用します。このパラメータをTrueに設定すると、区切り文字(カンマなど)の直後にある空白が自動的にスキップされます。CSVファイルの中には、カンマの後に不要なスペースが混ざっているケースが少なくありません。そのまま読み込むと、列名や値の先頭に空白が残り、条件検索やグループ化の際にデータが正しく一致しない原因となります。skipinitialspace=Tr
-
Python Pandasでデータフレームの列の値をX軸ラベルとして設定する方法
PythonのPandasでデータフレームの列の値をX軸ラベルとして設定するには、plot()メソッドの引数にxticksを指定します。これにより、データの値をそのまま目盛りラベルとして表示できるため、グラフがより読みやすくなります。手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。Pandasを使って、column1というキーを持つデータフレームを作成します。plot()メソッドでデータフレームをプロットし、column1の値をX軸ラベルとして指定します。図を表示するには、show()メソッドを使用します。コード例import pandas as pd fro