gpt4 book ai didi

python-3.x - 使用其他列的元素在 Pandas 中创建一个新列

转载 作者:行者123 更新时间:2023-12-04 10:45:20 24 4
gpt4 key购买 nike

你好,我需要帮助。

我有一个数据框,例如:

table :

Col1    Col2    Col3    Sign
Loc1 1 60 -
Loc2 10 90 +
Loc3 40 100 +
Loc4 20 40 -

从这张表中我想创建一个 Newcol其他列中的元素,例如:
Col1    Col2    Col3    Sign    Newcol
Loc1 1 60 - Loc1:1-60(-)
Loc2 10 90 + Loc2:11-90(+)
Loc3 40 100 + Loc3:41-100(+)
Loc4 20 40 - Loc4:20-40(-)

我试过:
table["Newcol"]=table['Col1']+":"+str(table['Col2'])+"-"+str(table['Col3'])+"("+table['Sign']+")"

但是,当我有 + 时,我怎么能考虑到这一事实?签名,我要加 +1Col3Newcol姓名 ?

最佳答案

使用 Series.astype 用于转换为字符串和用于添加 1比较 +并使用 Series.add 将值转换为整数:

table["Newcol"] = (table['Col1']+":"+
(table['Col2'].add(table['Sign'].eq('+').astype(int))).astype(str)+"-"+
(table['Col3']).astype(str)+"("+
table['Sign']+")")
print (table)
Col1 Col2 Col3 Sign Newcol
0 Loc1 1 60 - Loc1:1-60(-)
1 Loc2 10 90 + Loc2:11-90(+)
2 Loc3 40 100 + Loc3:41-100(+)
3 Loc4 20 40 - Loc4:20-40(-)

关于python-3.x - 使用其他列的元素在 Pandas 中创建一个新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59733941/

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