问答

dataframe放在字典循环里面无效

作者:admin 2021-06-25 我要评论

为啥我下面的字典循环语句跑出来的TA 列都是None, 但是拆开来跑就可以得到想要的结果呢? 这段得到是TA column是None: study_list_by_ta = {"CV_MED":["Axxxxx...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

为啥我下面的字典循环语句跑出来的TA 列都是None, 但是拆开来跑就可以得到想要的结果呢?

这段得到是TA column是None:

study_list_by_ta = {"CV_MED":["Axxxxxx","Byyyyyy"],"I&I" : ["cxxxxxxx"]}

for key, values in study_list_by_ta.items():
    signal_history_cal1["TA"] = signal_history_cal1['Study No.'].apply(lambda x: key if x in values else None)

但是这段得到的就是想要的结果,比如CV_MED

aaa = study_list_by_ta["CV_MED"]
signal_history_cal1["TA"] = signal_history_cal1['Study No.'].apply(lambda x: "CV_MED" if x in aaa else None)
###

你的逻辑错了,你遍历的是字典 每循环一次都会使整个 dataframe 都更新一次,所以你得到的结果实际上是字典里最一个被遍历的数据。

我的写法是 先写一个查找 key 的函数

def find_key(x):
    for key, values in study_list_by_ta.items():
        if x in values:
            return key
    return None

再将函数代入

signal_history_cal1["TA"] = signal_history_cal1['Study No.'].apply(find_key)

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • dataframe放在字典循环里面无效

    dataframe放在字典循环里面无效

  • 升级后节点启动失败:Failed to deseri

    升级后节点启动失败:Failed to deseri

  • 使用Android studio 创建plugin工程时

    使用Android studio 创建plugin工程时

  • 如何设置 error.name in extended clas

    如何设置 error.name in extended clas

腾讯云代理商
海外云服务器