简体   繁体   English

Pandas - 如何形成组然后根据两列为每个组绘制分布(条形图)?

[英]Pandas - How to form groups then plot distribution (barplot) for each group based on two columns?

----| col_1 | col_2 | col_3 (...) row_1| "A" "Yes" "Yes" row_2| "B" "Yes" "No" row_3| "A" "Yes" "Yes" row_4| "A" "No" "Yes" ----| col_1 | col_2 | col_3 (...) row_1| "A" "Yes" "Yes" row_2| "B" "Yes" "No" row_3| "A" "Yes" "Yes" row_4| "A" "No" "Yes" Result for "A": 2 | 1 | | ("Yes", "Yes") ("No", "Yes") ("Yes", "No") ("No", "No") ----| col_1 | col_2 | col_3 (...) row_1| "A" "Yes" "Yes" row_2| "B" "Yes" "No" row_3| "A" "Yes" "Yes" row_4| "A" "No" "Yes"结果 "A": 2 | 1 | | ("Yes", "Yes") ("No", "Yes") ("Yes", "No") ("No", "No") 2 | 1 | | ("Yes", "Yes") ("No", "Yes") ("Yes", "No") ("No", "No")

How do I group a pandas DataFrame in the above format by col_1 and create a barplot for each group which visualises the distribution (number of occurrences) of value pairs (col_2, col_3) ?如何通过COL_1做我基的熊猫数据帧在上述格式和为每个组创建该形象化值对的分布(出现次数)(COL_2,col_3)一个barplot? Col_2 and col_3 have two distinct values which are "Yes" and "No" . Col_2col_3有两个不同的值,分别是"Yes""No" The possible pairs would be ("Yes", "Yes") , ("Yes", "No") , ("No", "Yes") , ("No", "No") .可能的对是("Yes", "Yes") , ("Yes", "No") , ("No", "Yes") , ("No", "No")

Thanks in advance!提前致谢!

import matplotlib.pyplot as plt

df = pd.DataFrame(
    [['A', 'Yes', 'Yes'],
    ['B', 'Yes', 'No'],
    ['A', 'Yes', 'Yes'],
    ['A', 'No', 'Yes']],

    columns= ['col_1', 'col_2', 'col_3']   
)

for key, grp in df.groupby(['col_2', 'col_3']):
    grp['col_1'].hist()
    plt.show()

You should see 3 plots -one for each col_2/col_3 pairing您应该看到 3 个图 - 每个 col_2/col_3 配对一个

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何将两列熊猫数据框绘制为水平条形图? - How to plot two columns of pandas dataframe as horizontal barplot? 如何从 pandas dataframe 中获得具有百分比分布的水平条形图 plot? - How to plot an horizontal barplot with percentage distribution from a pandas dataframe? 如何根据两列对熊猫数据框行进行分组以查找每天的计数? - How to group pandas dataframe rows based on two columns to find the count for each day? 使用两列将数据帧分成不同的多个组,然后对每组进行 PCA 并绘制 PCA 图形 - Split dataframe into distinct multiple groups using two columns, then do PCA on each group and Plot the PCA figures 绘制两个 Pandas 数据框列之间的差异分布 - Plot distribution of differences between two pandas dataframe columns 熊猫:根据每个组中的最大值进行分组并按顺序分组 - Pandas: GroupBy and Order Groups based on max value in each group 熊猫-基于两列中的值进行分组 - pandas - group based on values from two columns 如何散点图每组 Pandas DataFrame - How to scatter plot each group of a pandas DataFrame Python熊猫的排名/排序基于每列输入各不相同的两列的分组依据 - Python pandas rank/sort based on group by of two columns column that differs for each input 将具有两列的pandas DataFrame变成堆叠的barplot - Turn pandas DataFrame with two columns into stacked barplot
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM