プロジェクトのgithubアドレス:bitcarmanlee easy-algorithm-interview-and-practiceには、
多くの場合、学生にプライベートメッセージを送信したり、関連する質問をするためのメッセージを残したりします。V番号bitcarmanlee。githubのスターのクラスメートは、私の能力と時間の範囲内で、あなたが関連する質問に答え、一緒に進歩するのを助けるために最善を尽くします。
一意の値を取得するための重複排除は一般的な要件です。パンダで重複排除を実現する方法を見てみましょう。
コードを直接見てください
import pandas as pd
def test():
df = pd.DataFrame({"c1": [1, 1, 2, 3, 1], "c2": [10, 20, 30, 40, 50]})
print(df)
print()
result = df['c1'].unique()
print(result)
print(type(result))
print(result.tolist())
print()
ret = df[df['c1'] == 1]['c2'].unique()
print(ret)
print(type(ret))
上記のコードを実行すると、次の結果が得られます
c1 c2
0 1 10
1 1 20
2 2 30
3 3 40
4 1 50
[1 2 3]
<class 'numpy.ndarray'>
[1, 2, 3]
[10 20 50]
<class 'numpy.ndarray'>
特定の分析:
1。述語の整合性を取得するために列の重複を排除する場合は、列を直接取得してから、unique()メソッドを呼び出すことができます。
2. unique()メソッドによって取得されたオブジェクトのタイプはnumpy.ndarrayであり、後でtolistメソッドを呼び出すことでリストに変換できます。
3. c1列の値を1にし、c2列をリセットする場合は、フィルタリングロジックdf ['c1'] == 1を使用してTrue / Falseを返すことができます。条件が一致する場合はtrue、条件が一致しない場合はfalseです。その後、dfを渡して、Trueに対応するすべての行を返します。次に、前の方法に従って、c2列を取得し、重複を削除します。