如何计算给定列中字符串第一次出现之前 NaN 的总和?

问题描述 投票:0回答:1

假设我有一个df,

column1 | column2    | column3 |
   1    | 2023-02-21 |   NaN   |
   1    | 2023-02-22 |   NaN   |
   1    | 2023-02-23 |    8    |
   1    | 2023-02-24 |   NaN   |
   1    | 2023-02-24 |   10    |
   2    | 2023-02-25 |   NaN   |
   2    | 2023-02-26 |    9    |

有没有办法实现下面的df,

结果 df,

column1 | column2    | column3 | result
   1    | 2023-02-21 |   NaN   |   3
   1    | 2023-02-22 |   NaN   |   3 
   1    | 2023-02-23 |    8    |   3
   1    | 2023-02-24 |   NaN   |   3
   1    | 2023-02-24 |   10    |   3
   2    | 2023-02-23 |   NaN   |   2
   2    | 2023-02-24 |    9    |   2

我想不出使用 pandas 实现此输出的方法。任何帮助将不胜感激。谢谢。

python pandas dataframe data-manipulation
1个回答
0
投票

不确定你的逻辑是否准确,但也许:

df['result'] = df['column3'].isna().groupby(df['column1']).transform('sum')
© www.soinside.com 2019 - 2024. All rights reserved.