私はこれを行うための速い方法を推測しています。そのようなnumpy配列1と2の正しい位置に基づいて3番目の配列の値を見つけよう
In[85]: xxn
Out[85]:
array([ 0.08333333, 0.08333333, 0.08333333, 0.08333333, 0.08333333,
0.08333333, 0.08333333, 0.08333333, 0.08333333, 0.25 ,
0.25 , 0.25 , 0.25 , 0.25 , 0.25 ,
0.25 , 0.25 , 0.25 , 0.5 , 0.5 ,
0.5 , 0.5 , 0.5 , 0.5 , 0.5 ,
0.5 , 0.5 , 1. , 1. , 1. ,
1. , 1. , 1. , 1. , 1. ,
1. , 2. , 2. , 2. , 2. ,
2. , 2. , 2. , 2. , 2. ,
3. , 3. , 3. , 3. , 3. ,
3. , 3. , 3. , 3. , 4. ,
4. , 4. , 4. , 4. , 4. ,
4. , 4. , 4. , 5. , 5. ,
5. , 5. , 5. , 5. , 5. ,
5. , 5. ])
yyn
Out[86]:
array([ 1306.89 , 1524.705, 1742.52 , 1960.335, 2178.15 , 2395.965,
2613.78 , 2831.595, 3049.41 , 1306.89 , 1524.705, 1742.52 ,
1960.335, 2178.15 , 2395.965, 2613.78 , 2831.595, 3049.41 ,
1306.89 , 1524.705, 1742.52 , 1960.335, 2178.15 , 2395.965,
2613.78 , 2831.595, 3049.41 , 1306.89 , 1524.705, 1742.52 ,
1960.335, 2178.15 , 2395.965, 2613.78 , 2831.595, 3049.41 ,
1306.89 , 1524.705, 1742.52 , 1960.335, 2178.15 , 2395.965,
2613.78 , 2831.595, 3049.41 , 1306.89 , 1524.705, 1742.52 ,
1960.335, 2178.15 , 2395.965, 2613.78 , 2831.595, 3049.41 ,
1306.89 , 1524.705, 1742.52 , 1960.335, 2178.15 , 2395.965,
2613.78 , 2831.595, 3049.41 , 1306.89 , 1524.705, 1742.52 ,
1960.335, 2178.15 , 2395.965, 2613.78 , 2831.595, 3049.41 ])
In[87]: zzn
Out[87]:
array([ 0.4837052 , 0.3976288 , 0.3076519 , 0.2105963 , 0.1015546 ,
0.1162558 , 0.1723646 , 0.2173536 , 0.2547635 , 0.3767569 ,
0.3196527 , 0.2606447 , 0.1983554 , 0.1291423 , 0.09786849,
0.1277448 , 0.1560009 , 0.1802875 , 0.3420683 , 0.2938885 ,
0.2452067 , 0.1958042 , 0.144459 , 0.1026045 , 0.1086459 ,
0.1256328 , 0.1419562 , 0.3090272 , 0.2726449 , 0.236535 ,
0.200679 , 0.1647521 , 0.1310315 , 0.1132389 , 0.1129602 ,
0.118809 , 0.284265 , 0.257173 , 0.2310047 , 0.205817 ,
0.18154 , 0.1586908 , 0.1393701 , 0.1264879 , 0.1204383 ,
0.2760804 , 0.2540095 , 0.2330927 , 0.2133592 , 0.1947658 ,
0.1775263 , 0.1622754 , 0.1498286 , 0.1407699 , 0.274541 ,
0.2560495 , 0.2387175 , 0.222547 , 0.2075007 , 0.1936717 ,
0.1812974 , 0.1706293 , 0.1618527 , 0.2802191 , 0.2641784 ,
0.2491889 , 0.2352521 , 0.2223443 , 0.2105051 , 0.199825 ,
0.1903785 , 0.1822064 ])
IはxxnにおけるAAマッチング位置に基づいてzzn値を取得することができる最速の方法を把握したいとyynた:私は、3×の座標を表し、同じサイズの配列、Y、のようなZを有します[1、2395.965]は配列zznの[1、2395.965]の位置マッチング位置である0.1310315を返します。
パンダで私はzz [(xx == 1)&(yy == 2395.965)] = 0.1310315ですが、残念ながらそれ以上のループがあり、遅くなります。
ご協力いただきありがとうございます。
編集:
私の電流ループは、このようなパンダを使用している座標
for coordinate in df.itertuples():
sTL = zz[(xx == x_match) & (yy == y_match)].values
sBL = zz[(xx == x_match) & (yy == sB)].values
sTR = zz[(xx == sR) & (yy == y_match)].values
sBR = zz[(xx == sR) & (yy == sB)].values
を持っているがx_match、y_match、SR、SBが値であり、あなたがxxn
とyyn
を積み重ねることができ100kの行
私はあなたが配列でもループする必要はないと思います。あなたはそれを実装するためにどのようにループしていますか? – Divakar
それはカスタム補間です、私は異なるxxnとyyn座標のループで複数のxxn yynとzznを与えています。そして、私はzzn相当物を必要とします –
サンプルデータでloopy実装を共有できますか? – Divakar