csv 内のデータのグループに対して比較的単純な計算を実行しようとしています。使用する必要がある関数はコレクション lib に含まれていると感じていますが、このライブラリのドキュメントを何度か読んでいます ( http://docs.python.org/2/library/collections.html )。目的の出力を達成するためにこのライブラリを使用する方法がわかりません。おそらく別の方法がありますか?
私が(効率的に)する必要があるのは; 各Uniqueclasselement
グループについて、列 4 の最大数を識別します (ゼロベースの列参照)。次に、そのグループ内の各行について、この「大きな」数とこの行の列 4 の数との差を計算します。最初の 3 行はUniqueclasselement1
& (それぞれ 111 から 105、96、109 を引いたもの) になり6
15
ます2
。次に、この数値を列の数値に2
追加し、結果をこの csv 内の新しい列に追加する必要があります。
サンプルデータ:
data,Uniqueclasselement1,52,data,105
data,Uniqueclasselement1,58,data,96
data,Uniqueclasselement1,59,data,109
data,Uniqueclasselement1,42,data,111
data,Uniqueclasselement1,32,data,107
data,Uniqueclasselement1,49,data,105
data,Uniqueclasselement1,50,data,104
data,Uniqueclasselement1,51,data,89
data,Uniqueclasselement1,79,data,99
data,Uniqueclasselement2,69,data,105
data,Uniqueclasselement2,58,data,96
data,Uniqueclasselement2,88,data,109
data,Uniqueclasselement2,84,data,111
data,Uniqueclasselement2,90,data,107
data,Uniqueclasselement2,55,data,105
data,Uniqueclasselement2,56,data,104
data,Uniqueclasselement2,79,data,89
data,Uniqueclasselement2,79,data,99
data,Uniqueclasselement3,63,data,105
data,Uniqueclasselement3,66,data,96
data,Uniqueclasselement3,69,data,109
data,Uniqueclasselement3,72,data,111
data,Uniqueclasselement3,52,data,107
data,Uniqueclasselement3,89,data,105
data,Uniqueclasselement3,70,data,104
data,Uniqueclasselement3,91,data,89
data,Uniqueclasselement3,79,data,99
望ましい結果
data,Uniqueclasselement1,52,data,105,58
data,Uniqueclasselement1,58,data,96,73
data,Uniqueclasselement1,59,data,109,61
data,Uniqueclasselement1,42,data,111,42
data,Uniqueclasselement1,32,data,107,36
data,Uniqueclasselement1,49,data,105,55
data,Uniqueclasselement1,50,data,104,57
data,Uniqueclasselement1,51,data,89,73
data,Uniqueclasselement1,79,data,99,91
data,Uniqueclasselement2,69,data,105,81
data,Uniqueclasselement2,58,data,96,79
data,Uniqueclasselement2,88,data,109,96
data,Uniqueclasselement2,84,data,117,84
data,Uniqueclasselement2,90,data,107,100
data,Uniqueclasselement2,55,data,105,67
data,Uniqueclasselement2,56,data,104,69
data,Uniqueclasselement2,79,data,89,107
data,Uniqueclasselement2,79,data,99,97
data,Uniqueclasselement3,63,data,105,67
data,Uniqueclasselement3,66,data,96,79
data,Uniqueclasselement3,69,data,109,69
data,Uniqueclasselement3,72,data,101,80
data,Uniqueclasselement3,52,data,107,54
data,Uniqueclasselement3,89,data,105,93
data,Uniqueclasselement3,70,data,104,75
data,Uniqueclasselement3,91,data,89,111
data,Uniqueclasselement3,79,data,99,89
私が引き受けたいタスク全体を定義しました。これは、stackoverflow コミュニティがコード全体を提供してくれるのではなく、私が達成しようとしているシーンを定義するためです。コメントで、これは pandas の 1 行のコードである可能性があると言及されていました。YouTube で pandas のチュートリアルを 3 時間見ただけですが、この csv の一意のクラス要素ごとに上記の計算を実行する方法については、それほど賢明ではありません。標準的な「何を試しましたか」という旅団ではなく、建設的なコメントや指示をいただければ幸いです。