gpt4 book ai didi

python - 在 Python 中二值化 float64 Pandas Dataframe

转载 作者:太空狗 更新时间:2023-10-30 02:27:42 24 4
gpt4 key购买 nike

我有一个包含多个列的 Panda DF(每个列表示一个词在语料库中的频率)。每行对应一个文档,每个都是 float64 类型。

例如:

word1 word2 word3
0.0 0.3 1.0
0.1 0.0 0.5
etc

我想将其二值化,而不是频率以指示单词存在的 bool 值(0s 和 1s DF)结束

所以上面的例子将被转换为:

word1 word2 word3
0 1 1
1 0 1
etc

我查看了 get_dummies(),但输出不是预期的。

最佳答案

对于任何不为零的值,转换为 bool 值将导致 True — 对于任何零条目,将导致 False。如果您随后转换为整数,则会得到 1 和 0。

import io
import pandas as pd

data = io.StringIO('''\
word1 word2 word3
0.0 0.3 1.0
0.1 0.0 0.5
''')
df = pd.read_csv(data, delim_whitespace=True)

res = df.astype(bool).astype(int)
print(res)

输出:

   word1  word2  word3
0 0 1 1
1 1 0 1

关于python - 在 Python 中二值化 float64 Pandas Dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39735676/

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