gpt4 book ai didi

python - 根据 pandas 数据框中的值组合两列

转载 作者:行者123 更新时间:2023-12-02 09:55:53 25 4
gpt4 key购买 nike

我想根据数据帧的值组合两列。每行的值将处于三种状态之一:

A)要么它们都是相同的值,

B) 只有一个单元格有值

C)它们是不同的值

例如:

enter image description here

我想根据它们的相似性将其分成一栏。如果它们相等,那么它应该就是那个值。如果为空,那么它应该是非 NaN 值。如果它们彼此不相等,那么我想举起一个标志(例如“在第 N 行,单元格 1 与单元格 2 不匹配”,它是什么并不重要)。

因此,使用上面的示例,该列将如下所示: enter image description here

“!”只是一个占位符。我怎么能去做这件事呢。

这是一个类似问题的示例,但考虑到两个单元格的值是什么,我还需要添加函数步骤。 Combine two columns of text in dataframe in pandas/python

很抱歉使用 Excel 屏幕截图,不知道如何在此处正确创建表格。

最佳答案

您可以使用combine Pandas 中的方法

import pandas as pd
import numpy as np

df = pd.DataFrame({"departure":[327,427,429,np.nan], "arrival":[np.nan,427,431,457]})
selection_rule = lambda s1, s2: s1 if s1 == s2 else (s1 if np.isnan(s2) else (s2 if np.isnan(s1) else "!"))

df['time'] = df['departure'].combine(df['arrival'], selection_rule )


>>> df
departure arrival time
0 327.0 NaN 327
1 427.0 427.0 427
2 429.0 431.0 !
3 NaN 457.0 457

关于python - 根据 pandas 数据框中的值组合两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59456887/

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