5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

pandas DataFrameの複数条件によるデータ抽出のメモ

Last updated at Posted at 2019-03-30

結論。Pandasではこちらを使いましょう。

  • 論理演算は、or,andではなく、|&を使うべし。
論理 DataFrameでの記号
or
and &
not ~

or、andなどを使った場合のエラー

誤り
df3.loc[(df3["品目"] == "パッケージ") or (df3["品目"] == "パッケージ")]

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

使用例

行抽出

論理演算子を使って複数条件によって抽出する。
# 品目列が ”パッケージ”か”パッケージ”のいづれかの行
df3.loc[(df3["品目"] == "パッケージ") | (df3["品目"] == "パッケージ")]

# 品目列が "Data_not_found"という文字列 ではない行
df3.loc[~(df_out["品目"] == "Data_not_found")]

行・列抽出

行と列同時に抽出する

# 品目列が "袋"でも"箱"でも ない 行の "単価"列を抽出する。
df_out.loc[~((df_out["品目"] == "") | (df_out["品目"] == ""))]["単価"]

補足追記 => 括弧忘れがち注意!!!

各条件は括弧で囲わないとエラーになる。

SyntaxError: invalid syntax

参考にさせていただきました。

詳細は下記に詳しく紹介されています。

https://note.nkmk.me/python-pandas-multiple-conditions/

https://stackoverflow.com/questions/36921951/truth-value-of-a-series-is-ambiguous-use-a-empty-a-bool-a-item-a-any-o

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?