Python DataFrameでixを使おうとするとエラーになる件

Python pandas DataFrameを使っていて、セルを指定する方法がわからずネットで拾ったサンプルコードを使おうとすると、AttributeError: ‘DataFrame’オブジェクトには属性 ‘ix’がありませんというエラーを食らいました。

ixを使ったサンプルコードを頻繁に見かけるのですが、どうやらこれは廃止されたようです。 pandasのバージョンを気にする必要がありそう。ixとかlocとかilocとかで頭が混乱していたのですが、わかりやすい説明がありました。

  1. pandas の loc、iloc、ix の違い – python(コード7区)

DataFrameの行・列を指定する方法として、

行ラベル、列ラベルを使った指定方法⇒ loc

行の番号や列の番号を使った指定方法⇒iloc

ラベルや番号を使った指定方法⇒ix

ということだそうです。そして、pandas バージョン0.20.1 では、.ixインデクサが deprecatedになったそう。

  1. Pandas メジャーアップデート(0.20.1)の要点〜高速 I/O、集約関数強化など(2017-05-11 luggage baggage)
  2. Starting in 0.20.0, the .ix indexer is deprecated, in favor of the more strict .iloc and .loc indexers. (pandas.pydata.org)