使用特定值在 python 中绘制条形图

plot a bar chart in python using specific values

我做了一个 pandas 交叉表来检查索引中每个 0 和 1 值的百分比,但我只想可视化 1 值的结果,这是我的代码,

pandas.crosstab(df['item'], df['values'],normalize='index').mul(100).sort_values(by=1,ascending=False)

所以值只有 0 和 1,所以我使用 1 对其进行排序,但我只想可视化 1 值,而不是 0 和 1,我该怎么做

您可以 select 1 列并创建条形图:

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

df = pd.DataFrame({'item': np.random.choice([*'abcdef'], 1000),
                   'values': np.random.randint(0, 2, 1000)})
crosstab_df = pd.crosstab(df['item'], df['values'], normalize='index').mul(100).sort_values(by=1, ascending=False)
ax = crosstab_df[1].plot.bar()
ax.bar_label(ax.containers[0], fmt='%.2f %%')
ax.margins(y=0.1)
plt.show()