私はストリング値を持つpandasデータフレームを持っており、値に部分文字列が含まれているデータフレームのサブセットを返すことができます。私はシリーズのと同じように動作するようにデータフレームのすべての列に部分文字列の検索を期待サブストリングを含むpandasデータフレームの値を見つける
import pandas as pd
import numpy as np
s4 = pd.Series(['A', 'B', 'C', 'Aaba', 'Baca', np.nan, 'CABA', 'dog', 'cat'])
s4[s4.str.contains('A', na=False)]
0 A
3 Aaba
6 CABA
dtype: object
が、あります。これは、このようにシリーズ(パンダのドキュメントから採用例)で行うのは簡単ですデータフレームのための.strメソッドはありません。あなたは、このような文字列の完全一致のためのデータフレームをフィルタリングすることができます。
df = pd.concat((s4, s4.shift(1)), axis=1)
0 1
0 A NaN
1 B A
2 C B
3 Aaba C
4 Baca Aaba
5 NaN Baca
6 CABA NaN
7 dog CABA
8 cat dog
filtered_df = df[df == 'Baca']
0 1
0 NaN NaN
1 NaN NaN
2 NaN NaN
3 NaN NaN
4 Baca NaN
5 NaN Baca
6 NaN NaN
7 NaN NaN
8 NaN NaN
result = df[df contains 'ac']
は、私はそれがfiltered_df = df[df == 'Baca']
と同じものを返します望んでいるだろうが、それは無効な構文です。私は、dataframeの各シリーズにseries.str.containsメソッドを適用するためにdf.applyを使ってみました。それが実行可能な解決策なら、私はそれを解決することができませんでした。 Linux/Ubuntuではpython 3.5、pandas 0.18を使用しています。
:http://stackoverflow.com/questions/26640129/search-forを-string-in-all-pandas-dataframe-columns-and-filter –