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

特定のデータフレームで回文名をフィルタリングする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

  1. 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

  2. 特定のシリーズの有効な日付をフィルタリングするプログラムを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()関数を