我有一个数据框,如下面的示例数据。我想创建一个图表,显示"正确"的总和。列中的每列其他4列,当这些列的值为1时。列是虚拟变量,所以"中文"列表示该记录被标记为中文。所以我想创建一个条形图,显示"正确"对于每个虚拟变量。
示例数据:
Food Chinese Italian Food Stands \
176 1 0 0 0
148 0 0 0 0
143 0 1 0 0
45 0 1 0 0
Correct
176 0
148 1
143 0
45 1
答案 0 :(得分:1)
答案 1 :(得分:0)
以下是一个工作示例,它使用掩码仅从更正 = 1
的行创建列总和import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame()
df['Chinese'] = [0,1,1,1,0,0,1]
df['Italian'] = [1,0,0,0,1,1,0]
df['Correct'] = [1,1,0,1,1,0,0]
df.mask(df['Correct'].apply(lambda x: bool(x)), inplace=True)
df[['Italian','Chinese']].sum().plot.bar()
plt.show()