我运行以下代码: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
提交
取消