別の列のフィルターに基づいてパンダDataFrameからテキストを抽出する

ルーク

私はdfを持っています。1つの列には「状態」があり、別の列には「テキスト」があります。State Column = "Idaho"の場合にのみ、 "Text"列から "Lime"という単語を抽出する "my_new_col"という新しい列を作成したいと思います。

df = {'State': ["Idaho", "Washington","Oregon","Idaho","Oregon"], 'Text': ["Lime Light","New Egg","Lime Inc","Monteray","NovaDing"]}
df = pd.DataFrame(df)
df

出力:

    State       Text
0   Idaho       Lime Light
1   Washington  New Egg
2   Oregon      Lime Inc
3   Idaho       Monteray
4   Oregon      NovaDing

次のようなデータフレームを取得するにはどうすればよいですか

    State       Text          my_new_col
0   Idaho       Lime Light    Lime
1   Washington  New Egg       None
2   Oregon      Lime Inc      None
3   Idaho       Monteray      None
4   Oregon      NovaDing      None

別の例は、正規表現に一致するテキストを新しい列に引き出すことです。

df = {'State': ["Idaho", "Washington","Oregon","Idaho","Oregon"], 'Text': ["1,234 Light","New Egg","Lime Inc","1223 Ring","NovaDing"]}
df = pd.DataFrame(df)
df

出力:

    State       Text
0   Idaho       1,234 Light
1   Washington  New Egg
2   Oregon      Lime Inc
3   Idaho       1223 Ring
4   Oregon      NovaDing

次のようなデータフレームを取得するにはどうすればよいですか。正規表現は\ d、\ d \ d \ dになります

    State       Text          my_new_col
0   Idaho       1,234 Light   1,234
1   Washington  New Egg       None
2   Oregon      Lime Inc      None
3   Idaho       1223 Ring     None
4   Oregon      NovaDing      None
リックM

大文字と小文字が区別される場合:

df['my_new_col'] = None
df.loc[(df['State']=='Idaho') & (df['Text'].str.contains("Lime")), 'my_new_col'] = 'Lime'
print(df)
        State        Text my_new_col
0       Idaho  Lime Light       Lime
1  Washington     New Egg       None
2      Oregon    Lime Inc       None
3       Idaho    Monteray       None
4      Oregon    NovaDing       None

大文字と小文字を区別しない場合:

df.loc[(df['State']=='Idaho') & (df['Text'].str.contains("Lime", case=False)), 'my_new_col'] = 'Lime'

... 2番目のサンプルデータフレームからの質問の更新に基づく:

df.loc[(df['State']=='Idaho'), 'my_new_col'] = df['Text'].str.extract(r"(\d,\d\d\d)")[0]

これにより、NaN値がNoneではなく列に配置されますそれが重要な場合:

df['my_new_col'] = None
df.loc[(df['State']=='Idaho'), 'my_new_col'] = df['Text'].str.extract(r"(\d,\d\d\d)")[0] 
df.loc[df['my_new_col'].isnull(), 'my_new_col'] = None

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

文字列のリストに基づいてパンダデータフレームから値を抽出する

分類Dev

パンダの列に基づいて特定の行からテキストを抽出する方法は?

分類Dev

R:パターンに基づいて文字列からテキストを抽出する方法

分類Dev

パンダのリストに基づいてDataFrameのアイテムをフィルタリングするにはどうすればよいですか?

分類Dev

Rの別の列に基づいて列から抽出された文字列テキストをグループ化する列を作成します

分類Dev

別のテキストファイルの2つの列に基づいてファイルから行を抽出する

分類Dev

Python-テキストに表示される文字列に基づいて、あるパンダdfから別のパンダdfに値を割り当てます

分類Dev

別の列パンダデータフレームに基づいて列値を抽出する

分類Dev

テキストフィールドに基づいてパンダデータフレーム内のCSVファイルをマージする

分類Dev

別の列に基づいて、パンダデータフレームの列のすべてのリストから要素を削除します

分類Dev

いくつかの基準に基づいてファイルからテキストを抽出する

分類Dev

別のファイル/辞書のキーワードに基づいてファイル内のテキストをフィルタリングする

分類Dev

パンダ-特定のキー値に基づいてデータフレームから値を抽出します

分類Dev

リストに基づいてリストのパンダ列をフィルタリングする

分類Dev

別のテーブルからのチェックに基づいてパンダデータフレームの列の値を置き換える方法

分類Dev

パンダ-別の列の空白セルに基づいて列にテキストを入力します

分類Dev

Pythonを使用してテキストファイル内の特定のパターンに基づいて行データを抽出する

分類Dev

フィルターに基づいて配列から配列を抽出する/部分的な文字列のように

分類Dev

別のリストに基づいてリストから要素をフィルタリングする

分類Dev

別のリストに基づいてリストから要素をフィルタリングする

分類Dev

列の値に基づいてパンダデータフレームから行を抽出します

分類Dev

別のリストに基づいて、パンダのデータフレーム列のリストから値を削除します

分類Dev

含まれているテキスト値に基づいてパンダのデータフレーム列を複数の列に分割する方法

分類Dev

列の値に基づいてテキスト ファイルをフィルター処理する

分類Dev

javascriptを使用して配列からのキーに基づいてフィルタリングする方法は?

分類Dev

パンダ:別の列のフィルターに基づいて集計

分類Dev

リストまたはベクトルに基づいて別の列から抽出されたテキストを含むデータフレームに新しい列を作成します

分類Dev

別の配列によるキーに基づいて配列をフィルタリングする

分類Dev

アンダースコアを使用して大文字と小文字を区別せずに、プロパティ値に基づいてオブジェクトの配列をフィルタリングしますか?

Related 関連記事

  1. 1

    文字列のリストに基づいてパンダデータフレームから値を抽出する

  2. 2

    パンダの列に基づいて特定の行からテキストを抽出する方法は?

  3. 3

    R:パターンに基づいて文字列からテキストを抽出する方法

  4. 4

    パンダのリストに基づいてDataFrameのアイテムをフィルタリングするにはどうすればよいですか?

  5. 5

    Rの別の列に基づいて列から抽出された文字列テキストをグループ化する列を作成します

  6. 6

    別のテキストファイルの2つの列に基づいてファイルから行を抽出する

  7. 7

    Python-テキストに表示される文字列に基づいて、あるパンダdfから別のパンダdfに値を割り当てます

  8. 8

    別の列パンダデータフレームに基づいて列値を抽出する

  9. 9

    テキストフィールドに基づいてパンダデータフレーム内のCSVファイルをマージする

  10. 10

    別の列に基づいて、パンダデータフレームの列のすべてのリストから要素を削除します

  11. 11

    いくつかの基準に基づいてファイルからテキストを抽出する

  12. 12

    別のファイル/辞書のキーワードに基づいてファイル内のテキストをフィルタリングする

  13. 13

    パンダ-特定のキー値に基づいてデータフレームから値を抽出します

  14. 14

    リストに基づいてリストのパンダ列をフィルタリングする

  15. 15

    別のテーブルからのチェックに基づいてパンダデータフレームの列の値を置き換える方法

  16. 16

    パンダ-別の列の空白セルに基づいて列にテキストを入力します

  17. 17

    Pythonを使用してテキストファイル内の特定のパターンに基づいて行データを抽出する

  18. 18

    フィルターに基づいて配列から配列を抽出する/部分的な文字列のように

  19. 19

    別のリストに基づいてリストから要素をフィルタリングする

  20. 20

    別のリストに基づいてリストから要素をフィルタリングする

  21. 21

    列の値に基づいてパンダデータフレームから行を抽出します

  22. 22

    別のリストに基づいて、パンダのデータフレーム列のリストから値を削除します

  23. 23

    含まれているテキスト値に基づいてパンダのデータフレーム列を複数の列に分割する方法

  24. 24

    列の値に基づいてテキスト ファイルをフィルター処理する

  25. 25

    javascriptを使用して配列からのキーに基づいてフィルタリングする方法は?

  26. 26

    パンダ:別の列のフィルターに基づいて集計

  27. 27

    リストまたはベクトルに基づいて別の列から抽出されたテキストを含むデータフレームに新しい列を作成します

  28. 28

    別の配列によるキーに基づいて配列をフィルタリングする

  29. 29

    アンダースコアを使用して大文字と小文字を区別せずに、プロパティ値に基づいてオブジェクトの配列をフィルタリングしますか?

ホットタグ

アーカイブ