Python 熊猫:使用行和的条形图
我有一个数据框,如下所示:Python 熊猫:使用行和的条形图,python,pandas,Python,Pandas,我有一个数据框,如下所示: ID | A | B | C | ... -------------------- 1 | 0 | 0 | 0 | ... 2 | 1 | 1 | 1 | ... 3 | 1 | 1 | 0 | ... 有许多列和行,并且值是二进制的。我想使用条形图(或pieplot)来绘制行总和的百分比。这是我正在寻找的一种可视化: 我尝试使用df.sum(axis=1).reset_index()来获取每行的总和,但我不知道下一步是什么。任何打印工具都可以。一旦使用以下工
ID | A | B | C | ...
--------------------
1 | 0 | 0 | 0 | ...
2 | 1 | 1 | 1 | ...
3 | 1 | 1 | 0 | ...
有许多列和行,并且值是二进制的。我想使用条形图(或pieplot)来绘制行总和的百分比。这是我正在寻找的一种可视化:
我尝试使用
df.sum(axis=1).reset_index()
来获取每行的总和,但我不知道下一步是什么。任何打印工具都可以。一旦使用以下工具计算行数之和:
arr = df.sum(axis=1)
可以使用numpy计算数组中每个元素的重复次数:
unique, counts = np.unique(arr, return_counts=True)
myDictionary = dict(zip(unique, counts))
plt.bar(myDictionary.keys(), myDictionary.values(), width, color='g')
并使用此词典绘制条形图
另一种方法是绘制arr
的直方图:
plt.hist(arr, bins=np.arange(arr.min(), arr.max()+1))
这是一个关于如何从数据帧的每一行的总和开始的总体思路。一旦使用以下方法进行行总和计算:
arr = df.sum(axis=1)
可以使用numpy计算数组中每个元素的重复次数:
unique, counts = np.unique(arr, return_counts=True)
myDictionary = dict(zip(unique, counts))
plt.bar(myDictionary.keys(), myDictionary.values(), width, color='g')
并使用此词典绘制条形图
另一种方法是绘制arr
的直方图:
plt.hist(arr, bins=np.arange(arr.min(), arr.max()+1))
这是关于如何从数据帧的每一行的总和开始的一般概念。这将为您提供一个起点。其思想是将df的长度除以
%
import pandas as pd
import seaborn as sns
df = pd.DataFrame([
[1,1,0],
[1,0,0],
[0,0,0],
[1,1,0],
[0,0,0],
[1,0,1],
[1,1,0],
[0,0,1]
],columns = ['a','b','c'])
k = df.sum()/len(df)
k.plot.bar()
这将为您提供一个起点。其思想是将df的长度除以
%
import pandas as pd
import seaborn as sns
df = pd.DataFrame([
[1,1,0],
[1,0,0],
[0,0,0],
[1,1,0],
[0,0,0],
[1,0,1],
[1,1,0],
[0,0,1]
],columns = ['a','b','c'])
k = df.sum()/len(df)
k.plot.bar()