使用字典中的公共值在python中绘制图形

使用字典中的公共值在python中绘制图形,python,pandas,dictionary,matplotlib,plot,Python,Pandas,Dictionary,Matplotlib,Plot,选择值时,如何直观地表示公共键。我正在创建一个表单,用户将在其中选择一个值,例如'john'。我想绘制公共键‘a’、‘b’和‘c’。关于如何解决这个问题的建议将非常有用 d = { 'a': ['john', 'doe', 'jane'], 'b': ['james', 'danny', 'john'], 'C':['john', 'scott', 'jane'], } 您可以从字典中创建数据帧: import pandas as pd import matplotlib.pyplot a

选择值时,如何直观地表示公共键。我正在创建一个表单,用户将在其中选择一个值,例如
'john'
。我想绘制公共键‘a’、‘b’和‘c’。关于如何解决这个问题的建议将非常有用

d = {
'a': ['john', 'doe', 'jane'], 
'b': ['james', 'danny', 'john'], 
'C':['john', 'scott', 'jane'],
}

您可以从字典中创建数据帧:

import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('ggplot')

df = pd.DataFrame({
'a': ['john', 'doe', 'jane'], 
'b': ['james', 'danny', 'john'], 
'c':['john', 'scott', 'jane'],
})
然后,您可以简单地如下绘制
john

df.apply(lambda x: (x == 'john').sum()).plot(kind='bar')

由于字符串
john
在每列中只出现一次,因此所有条的长度都相同

解决方案包括:

如果需要显示所有数据:

df1 = df.apply(pd.value_counts).T
print (df1)
   danny  doe  james  jane  john  scott
a    NaN  1.0    NaN   1.0   1.0    NaN
b    1.0  NaN    1.0   NaN   1.0    NaN
c    NaN  NaN    NaN   1.0   1.0    1.0

df1.plot.bar()
plt.show()

你想为
john
绘制一个计数吗?@JoeR是的!视觉上显示“john”出现在a、b和c中。
df1 = df.apply(pd.value_counts).T
print (df1)
   danny  doe  james  jane  john  scott
a    NaN  1.0    NaN   1.0   1.0    NaN
b    1.0  NaN    1.0   NaN   1.0    NaN
c    NaN  NaN    NaN   1.0   1.0    1.0

df1.plot.bar()
plt.show()