分割

2017-07-05 9 views
0

問題がフィルタリングされなければならないインデックスを含む別のリストに基づいてリストは以下の通り:Pumpindex分割

私は

I 91個の順序付けされた値のリストそれぞれ表す1 2の可能な試験を有します別のリスト(実際にはパンダのdf)は、2つの列、1つは左ともう1つの右を呼び出す。これらの列には、左と右の試行が最初のリストに入った順序が含まれています。 (すなわち列左:0,1,3,4,6,8 ... //列右:2,5,7,9 ....)

何私は次のやりたいことは最初に分割され、索引番号が左または右の列リストのいずれかにある場合は、その索引に基づいてリストします。

これは私が思い付いたが、それは仕事だけにかかわらず、第二のリスト内の番号の最初の46回の左トライアルをフィルタリングしていない、悲しいかな、最も簡単な解決策です。 46件の試行が残っていることがわかり、最初のリストから最初の46件の試行を受けます。

df1 = pd.read_csv("LeftRightrat1.csv") 
df1.columns = ['Left', 'Right'] 
Pumpindex = [somelist] 
Leftypump = [x for x in Pumpindex if Pumpindex.index(x) in df1['Left']] 

私はここでやってはMだと思う何か:リストに追加x xの指数は、一連のDF1に発見された場合は[「左」]。 DF1である0,1,3,4,6,8の数字は、そうであれば、[左]、その後の私のリストは0,1,3,4,6,8として索引付けされているPumpindexにおける値のみを選択することになります。残念ながら、それだけで私が間違って行くのです0,1,2,3,4,5 ...

を与えますか?

答えて

1

データフレームは、分割のためのインデックスが含まれている場合は、理由を見事に迅速な回答に感謝を働いた

left = [Pumpindex[x] for x in df1.Left] 
right = [Pumpindex[x] for x in df1.Right] 
+0

を試してみて!私はちょうどそこにデータフレームの中にナンバー値がないことを確認しなければなりませんでした! ありがとうございました! –