Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Pandas –DataFrame列の文字列から数字を削除します


文字列から数値を削除するには、replace()メソッドを使用して、単純に置換します。まず、requireライブラリをインポートしましょう-

import pandas as pd

学生の記録を使用してDataFrameを作成します。 Id列に数字の文字列があります-

dataFrame = pd.DataFrame(
   {
      "Id": ['S01','S02','S03','S04','S05','S06','S07'],"Name": ['Jack', 'Robin', 'Ted', 'Robin', 'Scarlett', 'Kat', 'Ted'],"Result": ['Pass', 'Fail', 'Pass', 'Fail', 'Pass', 'Pass', 'Pass']
   }
)

特定の列の文字列から番号を削除します。つまり、ここでは「Id」-

dataFrame['Id'] = dataFrame['Id'].str.replace('\d+', '')

以下はコードです-

import pandas as pd

# Create DataFrame with student records
dataFrame = pd.DataFrame(
   {
      "Id": ['S01','S02','S03','S04','S05','S06','S07'],"Name": ['Jack', 'Robin', 'Ted', 'Robin', 'Scarlett', 'Kat', 'Ted'],"Result": ['Pass', 'Fail', 'Pass', 'Fail', 'Pass', 'Pass', 'Pass']
   }
)

print"DataFrame ...\n",dataFrame

# removing number from strings of a specific column
dataFrame['Id'] = dataFrame['Id'].str.replace('\d+', '')

print"\nUpdated DataFrame...\n", dataFrame

出力

これにより、次の出力が生成されます-

DataFrame ...
     Id      Name   Result
0   S01      Jack     Pass
1   S02     Robin     Fail
2   S03       Ted     Pass
3   S04     Robin     Fail
4   S05  Scarlett     Pass
5   S06       Kat     Pass
6   S07       Ted     Pass

Updated DataFrame...
   Id      Name   Result
0   S      Jack     Pass
1   S     Robin     Fail
2   S       Ted     Pass
3   S     Robin     Fail
4   S  Scarlett     Pass
5   S       Kat     Pass
6   S       Ted     Pass

  1. Pythonで文字列から母音を削除する

    文字列があるとすると、その文字列からすべての母音を削除する必要があります。したがって、文字列が「iloveprogramming」のようなものである場合、母音を削除すると、結果は-lvprgrmmngになります。 これを解決するには、次の手順に従います- [a、e、i、o、u]を保持している1つの配列母音を作成します 母音のvの場合 空白の文字列を使用してvを置き換えます 例 理解を深めるために、次の実装を見てみましょう- class Solution(object):    def removeVowels(self, s):     &n

  2. Pythonで文字列から10進数を抽出する

    RegExモジュールを使用するのが最速の方法です。 >>> import re 文字列に整数と浮動小数点数、および以下が含まれていると仮定します- s =私の年齢は25歳です。55.50パーセントのマークがあり、9764135408が私の番号です findall()関数は、小数点の前後の数字を含む、指定されたパターンに一致する数値のリストを返します >>> re.findall('\d*\.?\d+',s) 結果はすべての番号のリストオブジェクトです ['25', '55.50', '9764