特定のデータフレームで回文名をフィルタリングするPythonコードを記述します
回文名を印刷した結果は-
Palindrome names are: Id Name 0 1 bob 2 3 hannah
これを解決するために、以下のアプローチに従います-
ソリューション1
-
データフレームを定義する
-
set for loop内にリスト内包表記を作成して、i変数を使用してdf [‘Name’]列のすべての値にアクセスし、条件を設定してi ==i [::-1]を比較し、リストにi値を追加します
l = [ i for i in df['Name'] if(i==i[::-1])]
-
最後に、isin()
を使用して、df [‘Name’]列にあるリスト値を確認します。
df[df['Name'].isin(l)]
例
理解を深めるために、次のコードを確認してみましょう-
import pandas as pd data = {'Id':[1,2,3,4,5],'Name':['bob','peter','hannah','james','david']} df = pd.DataFrame(data) print("DataFrame is:\n", df) l = [ i for i in df['Name'] if(i==i[::-1])] print("Palindrome names are:\n", df[df['Name'].isin(l)])
出力
DataFrame is: Id Name 0 1 bob 1 2 peter 2 3 hannah 3 4 james 4 5 david Palindrome names are: Id Name 0 1 bob 2 3 hannah
ソリューション2
-
データフレームを定義する
-
ラムダフィルター関数を適用して、df [‘Name’]の各値を逆関数と比較すると、同じ結果が返されるかどうかがわかります。値が一致する場合は、結果リストとして保存します。
result = list(filter(lambda x:(x=="".join(reversed(x))),df['Name']
-
最後に、isin()
を使用して、df [‘Name’]列にあるリスト値を確認します。
df[df['Name'].isin(result)]
例
理解を深めるために、次のコードを確認してみましょう-
import pandas as pd data = {'Id':[1,2,3,4,5],'Name':['bob','peter','hannah','james','david']} df = pd.DataFrame(data) print("DataFrame is:\n", df) result = list(filter(lambda x:(x=="".join(reversed(x))),df['Name'])) print("Palindrome names are:\n", df[df['Name'].isin(result)])
出力
DataFrame is: Id Name 0 1 bob 1 2 peter 2 3 hannah 3 4 james 4 5 david Palindrome names are: Id Name 0 1 bob 2 3 hannah
-
Pythonでプログラムを作成して、DataFrameから「A」学年の生徒の名前を印刷します
入力 − Assume, you have DataFrame, Id Name Grade 0 1 stud1 A 1 2 stud2 B 2 3 stud3 C 3 4 stud4 A 4 5 stud5 A 出力 − そして、「A」学年の生徒の名前の結果 0 stud1 3 stud4 4 stud5 解決策 これを解決するために、以下のアプローチに従います。 DataFrameを定義する 値をD
-
特定のシリーズの有効な日付をフィルタリングするプログラムをPythonで作成します
入力 −シリーズがあると仮定します 0 2010-03-12 1 2011-3-1 2 2020-10-10 3 11-2-2 出力 −そして、シリーズの有効な日付の結果は、 0 2010-03-12 2 2020-10-10 ソリューション1 シリーズを定義します。 ラムダフィルターメソッドを適用して、一連のパターンを検証します。 data = pd.Series(l) result = pd.Series(filter(lambda x:re.match(r"\d{4}\W\d{2}\W\d{2}",x),data)) 最後に、isin()関数を