小编Paw*_*rBI的帖子

Pandas query() 过滤性能

我读过https://jakevdp.github.io/PythonDataScienceHandbook/03.12-performance-eval-and-query.html 使用 query() 进行数据帧过滤比仅使用带有 \'&\' 的条件来过滤数据更快。当然,使用 query() 时有一些限制。但我在数据帧上尝试了它,实际上执行速度明显慢了。为什么会这样?我缺少什么?什么时候应该使用query()?见下文:

\n\n
import pandas as pd\n\nimport numpy as np\n\n#create dataframe with 5 columns using random numbers \n\nrng = np.random.RandomState(42)\n\ndf = pd.DataFrame(rng.rand(1000, 5), columns=[\'A\', \'B\', \'C\', \'D\',\'E\'])\n\ndf2= round((df * 10),1)\n\n%timeit df3 = df2[(df2["A"] < 3) & (df2["B"]>2)]\n\n%timeit df4 = df2.query("A<3 and B>2") \n
Run Code Online (Sandbox Code Playgroud)\n\n

对于 df3 我得到: 1.06 ms \xc2\xb1 156 \xc2\xb5s 每个循环(意味着 \xc2\xb1 标准偏差 7 次运行,每次 1000 次循环)

\n\n

对于 df4:每次循环 1.97 ms \xc2\xb1 155 \xc2\xb5s(平均 \xc2\xb1 标准偏差 7 次运行,每次 1000 次循环) …

pandas

6
推荐指数
1
解决办法
5956
查看次数

如何使用 matplotlib 或 seaborn 在绘图旁边显示汇总统计信息?

我正在尝试创建一个函数,该函数将遍历数据框中的数字特征列表,以在其旁边显示直方图和汇总统计信息。我正在使用plt.figtext()显示统计信息,但出现错误

num_features=[n1,n2,n3]

for i in num_features:
    fig, ax = plt.subplots()
    plt.hist(df[i])
    plt.figtext(1,0.5,df[i].describe() )
    ax.set_title(i)
    plt.show()
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到一条错误/警告消息:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()

如果使用df[n].mean()而不是它工作正常describe()

我究竟做错了什么?有没有更好的方法来打印一个图并在它旁边显示一些统计数据?

matplotlib pandas seaborn

2
推荐指数
1
解决办法
2498
查看次数

标签 统计

pandas ×2

matplotlib ×1

seaborn ×1