python - 带有数据框的 Python 条形图
问题描述
我有以下数据框:
df = pd.DataFrame(dict(
A=[1, 0, 0, 1],
B=[0, 1, 1, 1],
C=[1, 0, 0, 0]
))
解决方案
从您提供的数据集开始:
df = pd.DataFrame(dict(
A=[1, 0, 0, 1],
B=[0, 1, 1, 1],
C=[1, 0, 0, 0]
))
你应该重新塑造数据框pandas.melt
:
df = pd.melt(frame = df,
var_name = 'class',
value_name = 'survived')
class survived
0 A 1
1 A 0
2 A 0
3 A 1
4 B 0
5 B 1
6 B 1
7 B 1
8 C 1
9 C 0
10 C 0
11 C 0
所以你可以seaborn.countplot
用来得到你想要的情节:
fig, ax = plt.subplots()
sns.countplot(ax = ax, data = df, x = 'class', hue = 'survived')
plt.show()
完整代码
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(dict(
A=[1, 0, 0, 1],
B=[0, 1, 1, 1],
C=[1, 0, 0, 0]
))
df = pd.melt(frame = df,
var_name = 'class',
value_name = 'survived')
fig, ax = plt.subplots()
sns.countplot(ax = ax, data = df, x = 'class', hue = 'survived')
plt.show()
推荐阅读
- html - 引导模式,可滚动不起作用
- offset - 是否有人设法使用 MPLAB v.8.92 IDE(C18 编译器)在 PIC18F 程序存储器中的特定偏移处编写应用程序?
- angular - 角 9 | 指令中的 ngModel Provider 未按预期工作
- javascript - forEach 循环使用 !variable
- java - 我得到了非封闭类
- python - django-extra-views 的 UpdateWithInlinesView 不适用于crispy_forms
- postcss - 如何使用 postcss 在顺风中压缩文件大小?
- firebase - Firestore 增量、arrayUnion 和 arrayRemove 函数是否需要事务?
- python - 如何根据另一列中的值用另一列的平均值替换 NaN 值?熊猫
- flutter - I/flutter (8686): 另一个异常被抛出: NoSuchMethodError: The method 'save' was called on null