gpt4 book ai didi

python - 根据 DataFrame 标准仅更改 1 个单元格的值

转载 作者:太空宇宙 更新时间:2023-11-03 19:50:04 25 4
gpt4 key购买 nike

根据条件,我想更改某一列第一行的值,到目前为止,这就是我所拥有的

despesas['recibos'] =''
for a in recibos['recibos']:
if len(despesas.loc[(despesas['despesas']==a) & (despesas['recibos']==''), 'recibos'])>0:
despesas.loc[(despesas['despesas']==a) & (despesas['recibos']==''),
'recibos'].iloc[0] =a

所以我只想通过 a 上的值更改列 recibos 的第一个值,其中 (despesas['despesas']==a) & (despesas['recibos']=='')

编辑 1

示例:

despesas['despesas'] = [11.95,  2.5,  1.2 ,  0.6 ,  2.66,  2.66,  3.  , 47.5 , 16.95,17.56]
recibos['recibos'] = [11.95, 1.2 , 1.2 , 0.2 , 2.66, 2.66, 3. , 47.5 , 16.95, 17.56]

结果应该是:

[[11.95, 11.95],  [2.5, null] ,  [1.2, 1.2] ,  [0.6, null] ,  [2.66, 2.66],  [2.66, 2.66],  [3., 3] , [47.5, 45.5 ], [16.95, 16.95], [17.56, 17.56]]

最佳答案

这可能是可行的:

mapper = recibos['recibos'].map(despesas['despesas'].value_counts()).fillna(0)
despesas['recibos'] = recibos['recibos'].where(recibos.groupby('recibos')
.cumcount()
.lt(mapper),'null')
print(despesas)
despesas recibos
0 11.95 11.95
1 2.50 1.2
2 1.20 null
3 0.60 null
4 2.66 2.66
5 2.66 2.66
6 3.00 3
7 47.50 47.5
8 16.95 16.95
9 17.56 17.56

关于python - 根据 DataFrame 标准仅更改 1 个单元格的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59900864/

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