Sna*_*e_A 4 python dataframe pandas
我有一个带有各种列的Panda DF(每个列都表示一个词语中一个单词的频率).每行对应一个文档,每个都是float64类型.
例如:
word1 word2 word3
0.0 0.3 1.0
0.1 0.0 0.5
etc
Run Code Online (Sandbox Code Playgroud)
我想Binarize这个而不是频率最终用布尔值(0和1s DF)表示存在一个单词
所以上面的例子将转换为:
word1 word2 word3
0 1 1
1 0 1
etc
Run Code Online (Sandbox Code Playgroud)
我查看了get_dummies(),但输出不是预期的.
转换为布尔值将导致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)
Run Code Online (Sandbox Code Playgroud)
输出:
word1 word2 word3
0 0 1 1
1 1 0 1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
206 次 |
最近记录: |