ある行から別の行への文字列データのパンダ条件付きコピー

ade1e

次のデータフレームには、ネットワークファイアウォールからの構成アイテムが含まれています。各行は構成アイテムを表します。たとえば、行0はforでobject network fake1あり、これに関連付けられている唯一のパラメーターはに示されcol_0、IPアドレス文字列です。host 10.0.0.1

さらに下にcol_0はエントリがnetwork-object object fake1あり、これは前述のものを参照しますobject network fake1(作業する文字列パターンがあります)。次のように、IPアドレスセルから宛先セルにテキストをコピーしたいと思います。

ここに画像の説明を入力してください

私は次のように新しいデータフレームを作成することができます誰も助け所望の出力

注意してください名前をすなわちfake1、fake2、PRT-アプリを変更することができますが、文字列「対象ネットワーク」、「オブジェクト・グループネットワーク」と「ネットワーク・オブジェクトのオブジェクトは、」常に同じになりますなど任意のコードので、試合に基づく相互参照名理想的であり、より大きな構成で拡張できます。

つまり、可能性がobject network fooありnetwork object object fooます。以下に示すように、一致するパターンがあります。

ここに画像の説明を入力してください

これを再現するためのテストデータは、次のdf.to_dict()出力から取得できます。

import pandas as pd
import numpy as np
from numpy import nan

    dfData = {'col_0': {'object network fake1': ' host 10.0.0.1',
  'object network fake2': ' host 10.0.0.2',
  'object network fake3': ' host 10.0.0.3',
  'object network fake4': ' host 10.0.0.4',
  'object network fake5': ' host 10.0.0.5',
  'object-group network prt-apps': ' network-object object fake1',
  'object-group network prt-apps2': ' network-object object fake4',
  'object-group network prt-apps3': ' network-object object fake5'},
 'col_1': {'object network fake1': nan,
  'object network fake2': nan,
  'object network fake3': nan,
  'object network fake4': nan,
  'object network fake5': nan,
  'object-group network prt-apps': ' network-object object fake2',
  'object-group network prt-apps2': ' group-object prt-apps',
  'object-group network prt-apps3': ' group-object prt-apps2'},
 'col_2': {'object network fake1': nan,
  'object network fake2': nan,
  'object network fake3': nan,
  'object network fake4': nan,
  'object network fake5': nan,
  'object-group network prt-apps': ' network-object object fake3',
  'object-group network prt-apps2': nan,
  'object-group network prt-apps3': nan}}

pd.DataFrame(dfData)

私は何を試しましたか?

データを解析してこの投稿の形式にするのに何時間もかかりました。次に、パンダを使用した文字列操作を調べましたが、参照str.containsはaに制限されてSeriesおり、df全体を解析できません。私はgroupbyこれをどのように行うことができるかについて考えましたが、わかりません。助けに感謝します。

Ciscoファイアウォールを使用している人は、オブジェクト構成の命名規則によりこの投稿を見つける可能性があり、同様に役立つ解決策を見つける可能性があります。

サム

多分正規表現とstr.containsとの組み合わせstr.replace

import re

df = pd.DataFrame(dfData)
for index in df.index: #loop through the index values
    match = re.search(r'(fake\d)', index) #search for the "fake" + a digit
    if match is not None:
        fakenumber = match.group(1) #extract fake number ie "fake1"
        for col in df.columns:
            if True in df[col].str.contains(fakenumber).tolist():
                df.loc[:, col] = df[col].str.replace(fakenumber, fakenumber + df.loc[index, 'col_0'])

df

ここに画像の説明を入力してください

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

パンダ-条件付きである行から別の行に値をコピーする

分類Dev

ある列から別の列への値の条件付きコピー

分類Dev

ある行から別の行に条件付きで値をコピーする

分類Dev

パンダのデータフレームから別の複数の行に1行をコピーする

分類Dev

条件付きで識別された行から新しい列に値をコピーすることによるデータフレームの拡大

分類Dev

パンダのデータフレームから行を条件付きで削除する

分類Dev

はい条件で行データをあるシートから別のシートにコピーする

分類Dev

パンダ(Python)-条件付きでデータフレームの列を別の列から更新します

分類Dev

ある文字配列から別の文字配列への要素のコピー

分類Dev

パンダが特定の列をあるdfから別のdfにコピーして貼り付ける方法

分類Dev

別のデータフレームからのパンダデータフレームの条件付き更新

分類Dev

パンダのあるデータフレームから別のデータフレームへのインデックス値のマッピング

分類Dev

パンダデータフレームの行から列への値

分類Dev

データテーブルから、共通の列ヘッダーがある別のテーブルに行をコピーします

分類Dev

あるシートから別のシートへの部分的な行のコピーと混合タイプのデータセルの比較

分類Dev

辞書付きのパンダの列から行へ?

分類Dev

Mysql:特定の列をある行から別の行にコピーする

分類Dev

あるパンダデータフレームから別のパンダデータフレームに行をコピーするにはどうすればよいですか?

分類Dev

パンダのデータフレーム行の条件付きループ

分類Dev

条件付きの別のデータフレームからの値でパンダデータフレーム列を更新します

分類Dev

あるコンピュータから別のコンピュータへのmysqlデータベースのコピー

分類Dev

あるコンピューターでコンパイルして、別のコンピューターで「makeinstall」を実行できますか?

分類Dev

行の条件に基づいてパンダのデータフレームから列を選択する

分類Dev

'n'行を1行に結合したパンダデータフレーム列の条件付き集計

分類Dev

あるシートから別のシートへの列のコピーと貼り付けのループ

分類Dev

VBscript:あるブックから別のブックの次の空白行(特定のセル)にデータをコピーして貼り付ける

分類Dev

パンダの特定の構造を持つ行から列にデータをピボットする

分類Dev

パンダのデータフレーム行から特定の文字列を抽出する方法は?

分類Dev

日付のあるパンダデータフレームから行を選択します

Related 関連記事

  1. 1

    パンダ-条件付きである行から別の行に値をコピーする

  2. 2

    ある列から別の列への値の条件付きコピー

  3. 3

    ある行から別の行に条件付きで値をコピーする

  4. 4

    パンダのデータフレームから別の複数の行に1行をコピーする

  5. 5

    条件付きで識別された行から新しい列に値をコピーすることによるデータフレームの拡大

  6. 6

    パンダのデータフレームから行を条件付きで削除する

  7. 7

    はい条件で行データをあるシートから別のシートにコピーする

  8. 8

    パンダ(Python)-条件付きでデータフレームの列を別の列から更新します

  9. 9

    ある文字配列から別の文字配列への要素のコピー

  10. 10

    パンダが特定の列をあるdfから別のdfにコピーして貼り付ける方法

  11. 11

    別のデータフレームからのパンダデータフレームの条件付き更新

  12. 12

    パンダのあるデータフレームから別のデータフレームへのインデックス値のマッピング

  13. 13

    パンダデータフレームの行から列への値

  14. 14

    データテーブルから、共通の列ヘッダーがある別のテーブルに行をコピーします

  15. 15

    あるシートから別のシートへの部分的な行のコピーと混合タイプのデータセルの比較

  16. 16

    辞書付きのパンダの列から行へ?

  17. 17

    Mysql:特定の列をある行から別の行にコピーする

  18. 18

    あるパンダデータフレームから別のパンダデータフレームに行をコピーするにはどうすればよいですか?

  19. 19

    パンダのデータフレーム行の条件付きループ

  20. 20

    条件付きの別のデータフレームからの値でパンダデータフレーム列を更新します

  21. 21

    あるコンピュータから別のコンピュータへのmysqlデータベースのコピー

  22. 22

    あるコンピューターでコンパイルして、別のコンピューターで「makeinstall」を実行できますか?

  23. 23

    行の条件に基づいてパンダのデータフレームから列を選択する

  24. 24

    'n'行を1行に結合したパンダデータフレーム列の条件付き集計

  25. 25

    あるシートから別のシートへの列のコピーと貼り付けのループ

  26. 26

    VBscript:あるブックから別のブックの次の空白行(特定のセル)にデータをコピーして貼り付ける

  27. 27

    パンダの特定の構造を持つ行から列にデータをピボットする

  28. 28

    パンダのデータフレーム行から特定の文字列を抽出する方法は?

  29. 29

    日付のあるパンダデータフレームから行を選択します

ホットタグ

アーカイブ