質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1013閲覧

DataFrameからlist内の要素を含む行を抽出する方法(もしくはbooleanで)

ToshiyukiAraki

総合スコア18

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/07/31 12:09

このようなリストとデータフレームがあったときに、下記のように返す書き方を考えているのですが、わかりません。
できればfor文以外で処理できればと考えています。

[True, True, True, True, False]

python

1list = ["a", "b", "c", "d"] 2 3print(df) 4# name value 5# 0 a A 6# 1 b B 7# 2 c C 8# 3 d D 9# 4 e E 10# 5 f F

最終的には、このようなデータフレームを作成したいのですが、もっと簡単な方法があれば、教えてください。
よろしくお願いします。

# name value # 0 a A # 1 b B # 2 c C # 3 d D

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ppaul

2021/07/31 12:29

もっと簡単な方法を求めるなら、今やっている方法を質問に追加してください。
ToshiyukiAraki

2021/07/31 12:48

書き方が悪くてすみません。 booleanでの配列[True, True, True, True, False]を作ってから、元のデータフレームを切り出して、 # name value # 0 a A # 1 b B # 2 c C # 3 d D このようなデータフレームワーク作る方法を検討していて、できずにいます。 で、そもそもその方法よりもっといい方法があるのであれば、別解的に教えていただけたら嬉しいな、という感じでした。
guest

回答1

0

ベストアンサー

listは組込みクラス名なので、変数名として使うのはやめましょう。

方法1 (Bool値)

python

1>>> print(df) 2 name value 30 a A 41 b B 52 c C 63 d D 74 e E 85 f F 9>>> condition = ["a", "b", "c", "d"] 10>>> print(df['name'].apply(lambda x: x in condition)) 110 True 121 True 132 True 143 True 154 False 165 False 17Name: name, dtype: bool 18>>> print(df[df['name'].apply(lambda x: x in condition)]) 19 name value 200 a A 211 b B 222 c C 233 d D

方法2 (merge)

python

1>>> df2 = pd.DataFrame({'name': condition}) 2>>> df3 = pd.merge(df2, df) 3>>> print(df3) 4 name value 50 a A 61 b B 72 c C 83 d D 9

投稿2021/07/31 13:07

ppaul

総合スコア24666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ToshiyukiAraki

2021/07/31 15:17

mergeでできるんですね!眼から鱗でした! ありがとうございます!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問