我对熊猫有点新鲜。
我有一个数据框,words_df
有两列。 第一列([[0]]
)是一个单词列表,第二列是我想在下游进程中使用的值。
看起来像这样:
a:State-word occurrences
0 FIRE 1535
1 BRR 1189
2 GREEN 521
3 ORANGE 504
4 PURPLE 503
5 BLUE 482
6 VIOLET 480
7 YELLOW 445
8 INDIGO 434
9 BLACK 392
10 WHITE 381
11 PINK 322
...
我有第二个要过滤的单词列表。
如果我的filter_list
中有单词,请删除words_df
中的行。
到目前为止,我已经成功:
filter_list = words_df[[0]].isin(filter_list)
然后我尝试用以下方法执行此操作:
words_df[~filter_list]
它有点奏效,但大部分都没有。 在另一端看起来像这样:
a:State-word occurrences
0 NaN NaN
1 NaN NaN
2 NaN NaN
3 NaN NaN
4 PURPLE NaN
5 NaN NaN
6 NaN NaN
7 YELLOW NaN
8 INDIGO NaN
9 NaN NaN
10 NaN NaN
11 NaN NaN
我希望它看起来像这样:
a:State-word occurrences
1 PURPLE 503
2 YELLOW 445
3 INDIGO 434
我做错了什么?
答案 0 :(得分:2)
你接近答案
# Test data
df = DataFrame({'a:State-word': ['FIRE','BRR', 'GREEN', 'ORANGE', 'PURPLE', 'BLUE', 'VIOLET'],
'occurrences': [1535, 1189, 521, 504, 503, 482, 480]})
filter_list = ['FIRE', 'BRR', 'GREEN', 'ORANGE', 'BLUE']
df
# a:State-word occurrences
# 0 FIRE 1535
# 1 BRR 1189
# 2 GREEN 521
# 3 ORANGE 504
# 4 PURPLE 503
# 5 BLUE 482
# 6 VIOLET 480
df[~df['a:State-word'].isin(filter_list)]
# a:State-word occurrences
# 4 PURPLE 503
# 6 VIOLET 480