1
2017 developer survey resultsを操作しています。私はの文字列Python
を含む行をHaveWorkedLanguage
列に分離したいと考えています。各文字列が正規表現にマッチするかどうかを判断し特定の文字列のみを含むpandasデータフレームの行の選択(複数の文字列を含む)
:私はどのべきpandas.Series.str.matchを使用してみました
0 Swift 1 JavaScript; Python; Ruby; SQL 2 Java; PHP; Python 3 Python; R; SQL 4 NaN 5 JavaScript; PHP; Rust 6 Matlab; Python 7 CoffeeScript; Clojure; Elixir; Erlang; Haskell 8 C#; JavaScript 9 Objective-C; Swift 10 R; SQL 11 NaN 12 C; C++; Java 13 Java; JavaScript; Ruby; SQL 14 Assembly; C; C++ 15 JavaScript; VB.NET 16 JavaScript 17 Python; Matlab; Rust; SQL; Swift 18 Python 19 Perl; Python 20 NaN 21 C#; JavaScript; SQL 22 Java 23 Python; SQL 24 NaN 25 Java; Scala 26 Java; JavaScript; Objective-C; Python; Swift 27 NaN 28 Python 29 NaN ...
:その
df['HaveWorkedLanguage']
列がどのように見えるかこれ。ここで
import pandas as pd df = pd.read_csv("survey_results_public.csv") rows_w_Python = df[df['HaveWorkedLanguage'].str.match("Python", na=False)]['HaveWorkedLanguage']
問題示し、これは最初のエントリとして
Python
を含むこれらの行を選択することであるように
、それらresulstsれ、のみPython
を含まないで:
3 Python; R; SQL
17 Python; Matlab; Rust; SQL; Swift
18 Python
23 Python; SQL
28 Python
...
Python
だけを含む行を保持するにはどうすればよいですか?
多分 '代わりに、文字列の正規表現としてr'Python''は、「Pythonの – KyrSt
あなたが代わりにある' Python'の 'R "はPythonを"'使用することを意味上記のコマンド?それを試し、変更はありません。 – Gabriel
"Pythonのみ"では正規表現が必要ですか? 'df ['HaveWorkedLanguage'] == 'Python'はそのためのブールフィルタを作成する必要があります。 – ayhan