gpt4 book ai didi

python - 根据条件用真实值填充数据框

转载 作者:行者123 更新时间:2023-12-01 00:46:31 24 4
gpt4 key购买 nike

我创建了一个数据框,其中列作为不同的文档,行作为这些文档的特征,如下所示:
enter image description here

还有更多文档和大约 70 个功能。我想将 NaN 值替换为 True 或保留为 NaN,具体取决于文档是否包含该功能(行)。

假设:

t1_list = ['date', 'review_score']

然后,数据帧中 t1 下的前两行将显示为 True 和 course_id,通过对照当前行检查 t1_list 的元素,其余行将保持 NaN。
每个“文档”都有一个与上面列出的类似的相应列表,其中包含该文档的功能。我本质上只是创建一个具有 True/NaN 值的大矩阵,以便轻松查看哪些文档包含或不包含相同的功能。因此,如果当前行名称包含在相应的列表中,请将 NaN 替换为 True。

最佳答案

假设你有一个像这样的字典

features_per_doc = {"t1": ['date', 'review_score'], "t2": ['review_score'],\
"t3":['review_score', 'date', 'review_score']}

那么你可以这样做:

df.apply(lambda column: column.index.isin(features_per_doc[column.name]))

这将返回:

                 t1     t2     t3
date True False True
review_score True True True
course_id False False False

如果你想摆脱错误,那么你可以这样做

df.replace(False, pd.np.nan)

关于python - 根据条件用真实值填充数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56941000/

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