我有信息增益数据框和 tf 数据框。数据看起来像这样:
信息增益
Term IG
0 alqur 0.641328
1 an 0.641328
2 ayatayat 0.641328
3 bagai 0.641328
4 bantai 0.641328
5 besar 0.641328
词频
A B A+B
ahli 1 0 1
alas 1 0 1
alqur 0 1 1
an 0 1 1
ayatayat 0 1 1
... ... ... ...
terus 0 1 1
tuduh 0 1 1
tulis 1 0 1
ulama 1 0 1
upaya 0 1 1
假设表格信息增益 = IG 和表 tf = TF
我想检查 IG.Term 是否在 TF.index 中,然后获取行值,所以它应该是这样的:
Term A B A+B
0 alqur 0 1 1
1 an 0 1 1
2 ayatayat 0 1 1
3 bagai 1 0 1
4 bantai 1 1 2
5 besar 1 0 1
注意:我不再需要 IG 值了
最佳答案
按 Series.isin
过滤与 boolean indexing
并将索引转换为列:
df = TF[TF.index.isin(IG['Term'])].rename_axis('Term').reset_index()
print (df)
Term A B A+B
0 alqur 0 1 1
1 an 0 1 1
2 ayatayat 0 1 1
或者使用DataFrame.merge
使用默认内部连接:
df = IG[['Term']].merge(TF, left_on='Term', right_index=True)
print (df)
Term A B A+B
0 alqur 0 1 1
1 an 0 1 1
2 ayatayat 0 1 1
关于python - 如果值在列数据框中,则 Pandas 获取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58813515/