您好,我有一個如下所示的資料框:
Index X Y Z a b c u v
0 -1.462916 -1.299055 3.015321 -0.727074 2.697548 0.822541 259 -106
1 -1.397448 -1.267354 2.935434 -0.636784 2.755215 0.836514 273 -108
2 -1.384987 -1.269575 2.937742 -0.638735 2.767929 0.836798 279 -108
3 -1.367630 -1.281251 2.959687 -0.661788 2.787479 0.834445 293 -109
4 -1.349895 -1.278706 2.951603 -0.651958 2.804420 0.836097 300 -110
... ... ... ... ... ... ... ... ...
33817 0.744647 0.701664 1.618279 1.717619 4.655669 -0.186012 1655 1169
33818 0.723408 0.674251 1.556330 1.753335 4.632607 -0.129156 1662 1168
33819 0.752354 0.693699 1.602645 1.727306 4.662931 -0.171157 1669 1168
33820 0.681987 0.622136 1.438694 1.821023 4.587733 -0.021106 1675 1167
33821 0.765870 0.691312 1.600311 1.729280 4.676410 -0.168285 1682 1166
所以我有一對 u 和 v 值(最后兩列)。所以我想問的是,如果例如我有一個值 u = 279 和一個值 v = -108,我的輸出將是 Index = 2,有沒有辦法做到這一點?
我嘗試執行下面的代碼,但它只查找一列。
v_location = a.loc[a['v'] == -108].index[1]
v_location
[output] = 2
如您所見,此方法僅查找一列(例如 v 列)內的值,并且可能會給出錯誤的索引值,如您所見,index=1 和 index=2 都是 v == -108。
簡單地說,我希望我的輸入是來自 u 列和 v 列的值作為一對,并給出一個索引值作為輸出。
我希望你能用這個來幫助我。非常感謝 :)
uj5u.com熱心網友回復:
您可以像這樣在運算式中使用多個條件 df['u'].eq(279) & df['v'].eq(-108)
print(a[a['u'].eq(279) & a['v'].eq(-108)].index[0])
印刷:
2
uj5u.com熱心網友回復:
從資料幀嘗試 isin() 函式。df.isin([-100])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/353835.html
