为了账号安全,请及时绑定邮箱和手机立即绑定

解析 Pandas 作为列表返回

解析 Pandas 作为列表返回

大话西游666 2022-07-19 15:39:40
我运行以下代码: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。


查看完整回答
反对 回复 2022-07-19
?
浮云间

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]


查看完整回答
反对 回复 2022-07-19
  • 2 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信