迭代行并根据条件打印 pandas python

iterate rows and print based on condition pandas python

我有一个用 pd.read_excel

读入的数据集
Block     Con     
  1       100      
  1       100      
  1       100      
  1       33      
  1       33       
  1       33
  2       100
  2       100
  2       100
  2       33
  2       33
  2       33
...

一共有10个'block',每个'block'有2种'con':100和33。 我如何遍历 'Block' 列以便对于每个 'block' 它打印出 2 种类型的 'con':100 和 33

期望输出:

      1      100
              33
      2       100
              33

我的代码:

for b in data.Block:
     for c in data.Con:
         print(c)

但它会打印出每行块的所有 con。

使用drop_duplicates:

In [11]: df
Out[11]:
    Block  Con
0       1  100
1       1  100
2       1  100
3       1   33
4       1   33
5       1   33
6       2  100
7       2  100
8       2  100
9       2   33
10      2   33
11      2   33

In [12]: df.drop_duplicates()
Out[12]:
   Block  Con
0      1  100
3      1   33
6      2  100
9      2   33

我会这样使用groupby

d = df.groupby(['Block','Con']).size()

哪个returns:

Block  Con
1      33     3
       100    3
2      33     3
       100    3