gpt4 book ai didi

python - 如何在 python 中向 pandas 数据框添加多个标签

转载 作者:行者123 更新时间:2023-12-01 00:43:03 25 4
gpt4 key购买 nike

我有一个 pandas 数据框和一个节点列表,如下所示。

     node     title     description
0 "node1" "nn nn." "nnnn nnnn"
1 "node2" "mm mm." "mmmm mmmm"
2 "node3" "ll ll." "llll llll"
3 "node4" "jj jj." "jjjj jjjj"

nodes = [["node4", 0.9], ["node2", 1.0], ["node3", 0.8]]

我想在数据框中添加另一列作为级别,其中

  • high表示该节点的值高于0.8
  • med表示节点的值在0.8-0.6之间<​​/li>
  • low表示该节点的值低于0.6
  • N/A 表示该节点不在 nodes 列表中。

所以我的输出应如下所示。

     node     title     description  level
0 "node1" "nn nn." "nnnn nnnn" N/A
1 "node2" "mm mm." "mmmm mmmm" high
2 "node3" "ll ll." "llll llll" med
3 "node4" "jj jj." "jjjj jjjj" high

我当前正在使用以下代码来检查节点是否在列表中(返回 bool 值 01)。

df['node'].isin(nodes).astype(int)

但是,我不确定如何根据条件将数据分类。

如果需要,我很乐意提供矿石详细信息。

最佳答案

使用map映射 list 和 np.select 的值对于值的条件分配:

s=df.node.map(dict(nodes))
df['level']=np.select([s.lt(.6),s.ge(0.6)&s.le(.8),s.gt(0.8)],['low','med','high'],'N/A')
print(df)
<小时/>
    node   title description level
0 node1 nn nn. nnnn nnnn N/A
1 node2 mm mm. mmmm mmmm high
2 node3 ll ll. llll llll med
3 node4 jj jj. jjjj jjjj high

请注意,如果 df 中的字符串具有 " ,请使用 df=df.applymap(lambda x: x.replace('"','')) 替换它们

关于python - 如何在 python 中向 pandas 数据框添加多个标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57195340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com