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

Pythonでプログラムを作成して、特定のデータフレームの最初の重複行を削除します


データフレームがあり、最初の重複行を削除した結果は、

であると想定します。
    Id Age
0    1 12
3    4 13
4    5 14
5    6 12
6    2 13
7    7 16
8    3 14
9    9 15
10  10 14

解決策

これを解決するには、以下の手順に従います-

  • データフレームを定義する

  • IdおよびAge列内にdrop_duplicates関数を適用してから、keep初期値を「last」として割り当てます。

df.drop_duplicates(subset=['Id','Age'],keep='last')
  • 結果を同じデータフレーム内に保存して印刷します

理解を深めるために、以下の実装を見てみましょう-

import pandas as pd
df = pd.DataFrame({'Id':[1,2,3,4,5,6,2,7,3,9,10],
                     'Age':[12,13,14,13,14,12,13,16,14,15,14]
                  })
print("DataFrame is:\n",df)
df = df.drop_duplicates(subset=['Id','Age'],keep='last')
print("Dataframe after removing first duplicate rows:\n", df)

出力

DataFrame is:
    Id    Age
0    1    12
1    2    13
2    3    14
3    4    13
4    5    14
5    6    12
6    2    13
7    7    16
8    3    14
9    9    15
10  10    14
Dataframe after removing first duplicate rows:
    Id Age
0    1 12
3    4 13
4    5 14
5    6 12
6    2 13
7    7 16
8    3 14
9    9 15
10  10 14

  1. Pythonのリストで重複するエントリを削除するプログラム

    numsという番号のリストがあるとすると、リストに複数回表示される番号を削除する必要があります。また、元のリストに表示される順序を維持する必要があります。 したがって、入力がnums =[2、4、6、1、4、6、9]の場合、これらの要素は1回しか表示されないため、出力は[2、1、9]になります。 これを解決するには、次の手順に従います- dict:=新しい地図 numsの各iについて、 私が口述されていない場合は、 dict [i]:=0 dict [i]:=dict [i] + 1 dict[e]が1であるnumsのすべての要素eを含むリストを返します 理解を深

  2. バイナリ行列で重複する行を見つけるPythonプログラムを作成する

    バイナリ行列に0と1が含まれている場合、重複する行を見つけて印刷することがタスクです。 Pythonは、ここで使用されるCounter()メソッドを提供します。 例 Input: 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 Output: (1, 1, 1, 1) (0, 0, 0, 0) アルゴリズム Step 1: Create a binary matrix, only 0 and 1 elements are present. Step 2: Which will have rows as key and it’s frequency as value