2017-11-23 7 views
1

これは私のデータベースから抽出する例です。私は共著者の視覚化に取り組んでいるので、このサンプルに基づいて、私は2人の著者の中にただ1つの関係を保つ必要があります。私はBrian Norton --- Maria Roo OnsやMaria Roo Ons --- Brian Nortonのいずれかを削除しなければならないなど、関係の独自性を保つ必要があります。Python/R:重複行を削除する - 作成者の一意のペアを保持する

------------------------------------------------------------------------------------------------- 
|    article_title        | author_name  | coauthor_name | 
------------------------------------------------------------------------------------------------- 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | Maria Roo Ons 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | Max Ammann 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | S. Shynu 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | Brian Norton 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | Max Ammann 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | S. Shynu 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Max Ammann  | Brian Norton 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Max Ammann  | Maria Roo Ons 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Max Ammann  | S. Shynu 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Max Ammann  | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | S. Shynu  | Brian Norton 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | S. Shynu  | Maria Roo Ons 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | S. Shynu  | Max Ammann 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | S. Shynu  | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Sarah McCormack | Brian Norton 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Sarah McCormack | Maria Roo Ons 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Sarah McCormack | Max Ammann 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Sarah McCormack | S. Shynu 
------------------------------------------------------------------------------------------------- 

最終的な出力は以下のとおりです。

------------------------------------------------------------------------------------------------- 
|    article_title        | author_name  | coauthor_name | 
------------------------------------------------------------------------------------------------- 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | Maria Roo Ons 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | Max Ammann 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | S. Shynu 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | Max Ammann 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | S. Shynu 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Max Ammann  | S. Shynu 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Max Ammann  | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | S. Shynu  | Sarah McCormack 

この場合、ただ1つの行を保持したいだけです。私はそれをRやPythonでどうやって扱うのですか? ありがとうございました。

+0

これまでに試したことはありますか?ライブラリ/パッケージを使用していますか? (Numpy/Pandas for Python、dplyr、Rのデータセット) –

答えて

1

別のデータベースがあり、それに接続するためにPythonを使用しているとします。

可能なアプローチ:

1)あなたはarticle列に基づいて行番号を追加し、重複をプリフォームすることができます。あなたはthis答えを調べるかもしれません。それについてはSQLでどうやって行くのですか?

次に、あなただけのあなたのpythonを使用してクエリを実行することができます - デシベルコネクタ

2)あなたはパンダのデータフレームにレコードを引き、そこに分析を行うことができます。 Pandasは、データの取り扱いと操作に適しています。

+0

ありがとう、私は試してみる。 –

0

他の可能性を共有していないため、以下に示したようなデータフレームを想定しています。 Rで

article author1 author2 
A  a  b 
A  b  a 
A  a  a 
A  b  b 

、これは私はあなたが探している行を得ることができる方法です。私はあなたのデータフレームがdf1と仮定しています。

# This will create a new dataframe df2 with only those rows where author1 and author2 are different 

df2 <- df1[df1$author1 != df1$author2, ] 

出力は、質問に記載されているようです。

article author1 author2 
    A  a  b 
    A  b  a 

これが必要なのかどうか教えてください。

+0

あなたの答えをありがとう、しかし私の問題は繰り返し列を削除していない、問題は、author1とauthor2が同じ値を持っているが、同じ記事で異なる順序を持つ場合、重複を削除する方法です。 –

+0

同じ値を言ったら、 'author1'と' author2'の両方が 'a'でなければなりませんか? –

+0

いいえ、同じ記事では、私はちょうど1つのレコードが必要です:記事A author1a author2bまたはarticle A author1b author2a –

関連する問題