Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用透视表显示多列之间公共值的百分比?_Python_Excel_Pandas_Matplotlib_Pivot Table - Fatal编程技术网

Python 如何使用透视表显示多列之间公共值的百分比?

Python 如何使用透视表显示多列之间公共值的百分比?,python,excel,pandas,matplotlib,pivot-table,Python,Excel,Pandas,Matplotlib,Pivot Table,我有6列——每列代表不同的公司。然后,我在6列中有600多行1或0,表示是否将一个零件承包给每个公司(即,列)。这些部分可以在所有公司之间共享(即,每列的值可以为1,这意味着该部分在所有公司之间具有100%的通用性) 如何在excel中直观地表示这一点?我是pivot表的新手,基本上希望分解每一行,看看每个公司之间公共部分的分布情况 我总结了每一行(“总计”列)以及每家公司旁边的点击百分比(“1”)。我想按公司划分哪些通用部件是相对于其他公司的 将熊猫作为pd导入 df=pd.DataFrame

我有6列——每列代表不同的公司。然后,我在6列中有600多行1或0,表示是否将一个零件承包给每个公司(即,列)。这些部分可以在所有公司之间共享(即,每列的值可以为1,这意味着该部分在所有公司之间具有100%的通用性)

如何在excel中直观地表示这一点?我是pivot表的新手,基本上希望分解每一行,看看每个公司之间公共部分的分布情况

我总结了每一行(“总计”列)以及每家公司旁边的点击百分比(“1”)。我想按公司划分哪些通用部件是相对于其他公司的

将熊猫作为pd导入
df=pd.DataFrame({'Comp_A':[1,1,1,0,1],
“Comp_B”:[1,1,1,1,1,1],
“Comp_C”:[1,1,1,1,1,1],
“Comp_D”:[0,1,1,1,0,1],
“Comp_E”:[1,0,1,1,0,1],
“Comp_F”:[1,1,0,1,1,0],
“Sum”:[df.Sum()]})
对于6家公司中的每一行,我希望直观地表示找到的1和0的数量。这将告诉我有x个数量的零件在所有公司都是100%通用的,仅在公司B、C和D等


我对Excel或Python都是开放的。

示例数据帧

import pandas as pd
df=pd.DataFrame({'Comp_A':[1,1,1,1,0,1],
                 'Comp_B':[1,1,1,1,1,1],
                 'Comp_C':[1,1,1,1,1,1],
                 'Comp_D':[0,1,1,1,0,1],
                 'Comp_E':[1,0,1,1,0,1],
                 'Comp_F':[1,1,0,1,1,0],
                 })
print(df)

   Comp_A  Comp_B  Comp_C  Comp_D  Comp_E  Comp_F
0       1       1       1       0       1       1
1       1       1       1       1       0       1
2       1       1       1       1       1       0
3       1       1       1       1       1       1
4       0       1       1       0       0       1
5       1       1       1       1       1       0

使用+:


输出图像:

percentages_comun=(df.sum(axis=1)/len(df.columns))*100
print(percentages_comun)
0     83.333333
1     83.333333
2     83.333333
3    100.000000
4     50.000000
5     83.333333
dtype: float64


如您所见,第3行对所有公司都是通用的


百分比:

percentages_comun=(df.sum(axis=1)/len(df.columns))*100
print(percentages_comun)
0     83.333333
1     83.333333
2     83.333333
3    100.000000
4     50.000000
5     83.333333
dtype: float64

输出图像:

percentages_comun=(df.sum(axis=1)/len(df.columns))*100
print(percentages_comun)
0     83.333333
1     83.333333
2     83.333333
3    100.000000
4     50.000000
5     83.333333
dtype: float64

我不确定示例中的df格式是否正确,这是有意的吗?这很好-有没有办法按列分组?CompA-E?是的,在这种情况下,您希望图形或数据框如何?我会打开一个饼图,散点图,基本上显示每个公司如何在零件(1或0)之间共享共性。
percentages_comun.plot(kind='bar')