我運行以下代碼:df = pd.read_excel(excel_file, columns = ['DeviceNumber','DeviceAddress','DeviceCity','DeviceState','StoreNumber','StoreName','DeviceConnect','Keys'])df.index.name = 'ID'def srch_knums(knum_search): get_knums = df.loc[df['DeviceNumber'] == knum_search] return get_knumstest = srch_knums(int(13))print(test)輸出如下:DeviceNumber DeviceAddress DeviceCity DeviceState StoreNumber StoreName DeviceConnect Keys ID12 13 135 Sesame Street Imaginary AZ 410 Verizon Here On Sit和順便說一句,在終端看起來更漂亮......哈哈我想做的是進行價值測試并使用它的各個方面,即在我正在創建的 gui 的特定部分打印它。問題是,訪問 test 的各種列表值的語法是什么?TBH 我寧愿在 gui 中顯示標簽時更改標簽,并且想知道如何做到這一點,例如,獲取 test[0],它應該是設備號 (13) 的值,并且能夠將其分配給一個變量。IE,制作一個標有“kiosk number”的標簽,然后在它旁邊打印一個分配給 test[0] 的變量,等等,因為我寧愿自己格式化它而不是返回的奇怪打印輸出。
2 回答

藍山帝景
TA貢獻1843條經驗 獲得超7個贊
換行:
get_knums = df.loc[df['DeviceNumber'] == knum_search]
至
get_knums = df[df['DeviceNumber'] == knum_search]
你不需要使用 loc。

浮云間
TA貢獻1829條經驗 獲得超4個贊
如果要返回標量值,首先通過測試列匹配,然后列col1的輸出是必要的,如果不匹配,還添加用于返回默認值:col2locnextiter
def srch_knums(col1, knum_search, col2):
return next(iter(df.loc[df[col1] == knum_search, col2]), 'no match')
test = srch_knums('DeviceNumber', int(13), 'StoreNumber')
print (test)
410
如果要清單:
def srch_knums(col1, knum_search, col2):
return df.loc[df[col1] == knum_search, col2].tolist()
test = srch_knums('DeviceNumber', int(13), 'StoreNumber')
print (test)
[410]
添加回答
舉報
0/150
提交
取消