だから、これは大きなものです:
さまざまな出版物の著者と共著者のリストがあります。このリストは次のようになります。
[[['A','uni'],[['B','uni'],['C','uni'],['D','uni'],['E','uni']]],
[['E','uni'],[['A','uni'],['F','uni'],['G','uni']]]]
したがって、著者 A は著者 B、C、D と共同で出版物を作成し、著者 E は著者 A、F、G と共同で別の出版物を作成しました。
私が必要とするのは、共著者 (B、C、D、F、G) としてリストされている場合でも、すべての著者のリストと、誰と何本の論文を書いたかのリストです。したがって、すべての主要な著者 (A と E) は共著者 (A と B、C、D、E、E と A、F、G) だけでなく、論文の共著者 (B と C、D、E) も一緒に研究しました (B と C、D、E)。また、Aなど)。それに加えて、彼らが一緒に働いた論文の数を知る必要があります。
したがって、この小さな例の最終結果は次のようになります。
[[['A','uni'],[['B','uni',1],['C','uni',1],['D','uni',1],['E','uni',2],['F','uni',1],['G','uni',1]]],
[['B','uni'],[['A','uni',1],['C','uni',1],['D','uni',1],['E','uni',1]]],
[['C','uni'],[['A','uni',1],['B','uni',1],['D','uni',1],['E','uni',1]]],
[['D','uni'],[['A','uni',1],['B','uni',1],['C','uni',1],['E','uni',1]]],
[['E','uni'],[['A','uni',2],['B','uni',1],['C','uni',1],['D','uni',1],['F','uni',1],['G','uni',1]]],
[['F','uni'],[['A','uni',1],['E','uni',1],['G','uni',1]]],
[['G','uni'],[['A','uni',1],['E','uni',1],['F','uni',1]]]]
正直なところ、これは少し紛らわしいですが、私の言いたいことを理解していただければ幸いです。(uni エントリは、著者が勤務する大学を表します。他の情報が含まれる場合もありますが、このタスクには関係ありません)
データベースを解析するために作成した Python スクリプトで取得したこの初期リストがあります。誰と、どのくらいの頻度で wo を書いたかを表示するグラフを作成したいと考えています。
私はしばらく遊んでいましたが、良い解決策が見つかりません。うまくいくものを書くことができると思いますが、それはうまくも効率的でもなく、非常に時間がかかります。では、この問題を解決するための迅速で Pythonic な方法はありますか? 私の例には現在2つの出版物しかありませんが、約10000の出版物を分析する必要があり、そのうちのいくつかには数百人の共著者がいます...