在pandas DataFrame中,我有一系列的布尔值。为了过滤到布尔值为True的行,我可以使用:df[df.column_x]
我认为,为了只过滤列为False的行,我可以使用:df[~df.column_x]。我觉得我以前做过,并且已经将其视为接受的答案。
但是,这失败了,因为~df.column_x将值转换为整数。见下文。
import pandas as pd . # version 0.24.2
a = pd.Series(['a', 'a', 'a', 'a', 'b', 'a', 'b', 'b', 'b', 'b'])
b = pd.Series([True, True, True, True, True, False, False, False, False, False], dtype=bool)
c = pd.DataFrame(data=[a, b]).T
c.columns = ['Classification', 'Boolean']```
print(~c.Boolean)
0 -2
1 -2
2 -2
3 -2
4 -2
5 -1
6 -1
7 -1
8 -1
9 -1
Name: Boolean, dtype: object
print(~b)
0 False
1 False …Run Code Online (Sandbox Code Playgroud) 我在 python 中创建词云,并使用以下代码:
import matplotlib as mpl
import numpy as np
from wordcloud import WordCloud
mpl.use('TkAgg')
mpl = mpl.reload(mpl)
Run Code Online (Sandbox Code Playgroud)
当我现在运行 pycharm 并加载 pandas 数据框时。如果我什至开始输入 df.shape,我的控制台就会开始无休止地打印以下错误:
Traceback (most recent call last):
File "/Applications/PyCharm
CE.app/Contents/helpers/pydev/pydevconsole.py", line 207, in
process_exec_queue
inputhook()
File "/Applications/PyCharm
CE.app/Contents/helpers/pydev/pydev_ipython/inputhook.py", line 428,
in inputhook_mac
pyplot = sys.modules['matplotlib.pyplot']
KeyError: 'matplotlib.pyplot'
Run Code Online (Sandbox Code Playgroud)
该错误永远不会停止打印。
如果我在启动 pycharm 时运行以下代码,就可以阻止这种情况发生:
import matplotlib
matplotlib.use('agg')
matplotlib = matplotlib.reload(matplotlib)
Run Code Online (Sandbox Code Playgroud)
显然这不是我每次启动 pycharm 时都想运行的东西。Python 3.5.2 Matplotlib 2.0.2
有什么建议么?