gpt4 book ai didi

python - Pandas :根据另一列的值(value)增加值(value)

转载 作者:太空宇宙 更新时间:2023-11-04 00:59:57 26 4
gpt4 key购买 nike

我有一个 df 看起来像这样:

df
dim_pptx qp_pptx diff
Absolute Radio 7.39 7.53 0.14
BBC Asian Network 0.13 0.13 0.00
BBC Radio 1 14.41 14.55 0.14
BBC Radio 1Xtra 0.57 0.58 0.01
BBC Radio 2 23.36 23.39 0.03

我想添加一个新列,其中包含基于 df['diff'] 的值

预期输出:

df
dim_pptx qp_pptx diff sig
Absolute Radio 7.39 7.53 0.14 **
BBC Asian Network 0.13 0.13 0.00 -
BBC Radio 1 14.41 14.55 0.14 **
BBC Radio 1Xtra 0.57 0.58 0.01 -
BBC Radio 2 23.36 23.39 0.03 *

所以条件是:

if value > 0.1:
value = '**'
elif value > 0.02:
value = '*'
else:
value = '-'

我的尝试:

comp_df['sig'] = comp_df.apply(lambda x : '*' if comp_df['diff'] > 0.01 else '', axis=0)

错误:

 ValueError: ('The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().', u'occurred at index dim_pptx')

最佳答案

使用 DataFrame.apply 时如果您使用 axis=0 它通过列应用条件,要使用 apply 遍历每一行,您需要 axis=1

但是鉴于此,您可以使用 Series.apply而不是 DataFrame.apply'diff' 系列中。示例 -

comp_df['sig'] = comp_df['diff'].apply(lambda x: '**' if x > 0.1 else '*' if x > 0.02 else '-')

关于python - Pandas :根据另一列的值(value)增加值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33285717/

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