gpt4 book ai didi

python - 从满足条件的 Pandas 列中提取属性

转载 作者:行者123 更新时间:2023-12-04 02:37:01 24 4
gpt4 key购买 nike

假设我有一个 3 个不同变量的频率表:M1、M2 和 M3,在不同的实例上:P1、... P4:

tupl = [(0.7, 0.2, 0.1), (0,0,1), (0.2,0.6,0.2), (0.6,0.4,0)]

df_test = pd.DataFrame(tupl, columns = ["M1", "M2", "M3"], index =["P1", "P2", "P3", "P4"])

现在对于每一行,我希望能够将每个变量的出现提取为字符串,以便最终输出类似于:

output = pd.DataFrame([("M1+M2+M3"), ("M3"), ("M1+M2+M3"), ("M1+M2")], columns = ["label"], index = ["P1", "P2", "P3", "P4"])

我考虑过使用 np.where(df_test!=0) 之类的东西,但是我如何将列名作为字符串粘贴到输出中?

最佳答案

您可以使用 np.where 用标签填充单元格,然后将它们作为字符串连接起来。

(
df_test.gt(0).apply(lambda x: np.where(x, x.name, None))
.apply(lambda x: '+'.join(x.dropna()), axis=1)
.to_frame('label')
)


label
P1 M1+M2+M3
P2 M3
P3 M1+M2+M3
P4 M1+M2

关于python - 从满足条件的 Pandas 列中提取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61262719/

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