一意の値を取得するために列をパンダします

プロジェクトの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列を取得し、重複を削除します。

おすすめ

転載: blog.csdn.net/bitcarmanlee/article/details/113190828