1. ホーム
  2. python

[解決済み] pandasのデータフレームに文字列があるかどうかをチェックする

2022-12-01 18:39:07

質問

データフレーム内の特定の列に特定の文字列が存在するかどうかを確認したいです。

エラーが発生しました。

ValueErrorです。Seriesの真偽値は曖昧です。a.emptyを使用します。 a.bool(), a.item(), a.any(), a.all()のいずれかを使用してください。

import pandas as pd

BabyDataSet = [('Bob', 968), ('Jessica', 155), ('Mary', 77), ('John', 578), ('Mel', 973)]

a = pd.DataFrame(data=BabyDataSet, columns=['Names', 'Births'])

if a['Names'].str.contains('Mel'):
    print ("Mel is there")

どのように解決するのですか?

a['Names'].str.contains('Mel') は、大きさがブール値の指標ベクトル len(BabyDataSet)

したがって

mel_count=a['Names'].str.contains('Mel').sum()
if mel_count>0:
    print ("There are {m} Mels".format(m=mel_count))

または any() で、クエリにマッチするレコードの数が気にならない場合は

if a['Names'].str.contains('Mel').any():
    print ("Mel is there")