解析 Pandas 作为列表返回

我运行以下代码:


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_knums


test = srch_knums(int(13))

print(test)

输出如下:


DeviceNumber DeviceAddress DeviceCity DeviceState StoreNumber StoreName DeviceConnect Keys ID

12     13 135 Sesame Street  Imaginary   AZ         410        Verizon     Here        On Sit


顺便说一句,在终端看起来更漂亮......哈哈


我想做的是进行价值测试并使用它的各个方面,即在我正在创建的 gui 的特定部分打印它。问题是,访问 test 的各种列表值的语法是什么?TBH 我宁愿在 gui 中显示标签时更改标签,并且想知道如何做到这一点,例如,获取 test[0],它应该是设备号 (13) 的值,并且能够将其分配给一个变量。IE,制作一个标有“kiosk number”的标签,然后在它旁边打印一个分配给 test[0] 的变量,等等,因为我宁愿自己格式化它而不是返回的奇怪打印输出。


大话西游666
浏览 79回答 2
2回答

蓝山帝景

换行:get_knums = df.loc[df['DeviceNumber'] == knum_search]至get_knums = df[df['DeviceNumber'] == knum_search]你不需要使用 loc。

浮云间

如果要返回标量值,首先通过测试列匹配,然后列col1的输出是必要的,如果不匹配,还添加用于返回默认值:col2locnextiterdef 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]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python