1
長い用語集があり、節に用語集が含まれているかどうかを確認したいと思います。以下のように:Pandas - 別の列の値に列ラベルが存在するかどうかをチェックして列を更新する
>>> glossary = ['phrase 1', 'phrase 2', 'phrase 3']
>>> glossary
['phrase 1', 'phrase 2', 'phrase 3']
>>> df= pd.DataFrame(['This is a phrase 1 and phrase 2', 'phrase 1',
'phrase 3', 'phrase 1 & phrase 2. phrase 3 as well'],columns=['text'])
>>> df
text
0 This is a phrase 1 and phrase 2
1 phrase 1
2 phrase 3
3 phrase 1 & phrase 2. phrase 3 as well
は、以下のようにそれを連結:
text phrase 1 phrase 2 phrase 3
0 This is a phrase 1 and phrase 2 NaN NaN NaN
1 phrase 1 NaN NaN NaN
2 phrase 3 NaN NaN NaN
3 phrase 1 & phrase 2. phrase 3 as well NaN NaN NaN
私はテキスト列と比較して、用語集は、テキストと0であれば1を更新する用語集列ごとに達成したいですもしそうでなければ、この場合は
text phrase 1 phrase 2 phrase 3
0 This is a phrase 1 and phrase 2 1 1 0
1 phrase 1 1 0 0
2 phrase 3 0 0 1
3 phrase 1 & phrase 2. phrase 3 as well 1 1 1
どうすればよいですか?私のデータフレームでは、用語集の列は約3000列なので、各行の対応するテキストを比較するキーとして列ラベルに基づいて論理を一般化したいと考えています。
あなたが0,1
データフレームのため
int
にキャストで
str.contains
と
concat
でリストの内包表記を使用することができます