gpt4 book ai didi

python - 跨列计算数据框中的 null/NaN 值

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:12 24 4
gpt4 key购买 nike

我正在尝试计算数据框各列中每一行的唯一值的数量。

More context in my previous post and my answer

这是当前数据框:

[in] df
[out]
PID CID PPID PPPID PPPPID PPPPPID
0 2015-01-02 456 2014-01-02 2014-01-02 2014-01-02 2014-01-02
1 2015-02-02 500 2014-02-02 2013-02-02 2012-02-02 2012-02-10
2 2010-12-04 300 2010-12-04 2010-12-04 2010-12-04 2010-12-04

除 CID (contract_ID) 之外的所有列都是日期时间。我想在数据框中添加另一列来计算每行中唯一日期时间的数量(目的是找出“链”中有多少契约(Contract))。

我尝试了 .count().sum() 方法的不同实现,但无法让它们逐行工作基础(输出所有具有相同值的行)。

例子:

df_merged['COUNT'] = df_merged2.count(axis=1)

当我希望每一行都不同时,用“6”填充整个“COUNT”列。

删除 axis=1 参数会使整个列为“NaN”

最佳答案

您需要 apply(your_func, axis=1) 才能逐行工作。

df

Out[19]:
PID CID PPID PPPID PPPPID PPPPPID
0 2015-01-02 456 2014-01-02 2014-01-02 2014-01-02 2014-01-02
1 2015-02-02 500 2014-02-02 2013-02-02 2012-02-02 2012-02-10
2 2010-12-04 300 2010-12-04 2010-12-04 2010-12-04 2010-12-04



df['counts'] = df.drop('CID', axis=1).apply(lambda row: len(pd.unique(row)), axis=1)

Out[20]:
PID CID PPID PPPID PPPPID PPPPPID counts
0 2015-01-02 456 2014-01-02 2014-01-02 2014-01-02 2014-01-02 2
1 2015-02-02 500 2014-02-02 2013-02-02 2012-02-02 2012-02-10 5
2 2010-12-04 300 2010-12-04 2010-12-04 2010-12-04 2010-12-04 1

[3 rows x 7 columns]

关于python - 跨列计算数据框中的 null/NaN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31239071/

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