Python 根据条件迭代行并打印
我有一个用pd.read\u excel读取的数据集Python 根据条件迭代行并打印,python,pandas,iteration,row,Python,Pandas,Iteration,Row,我有一个用pd.read\u 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 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个“块”,每个“块”有两种类型的“con”:100和33。
如何迭代“Block”列,以便为每个“Block”打印出两种类型的“con”:100和33
期望输出:
1 100
33
2 100
33
我的代码:
for b in data.Block:
for c in data.Con:
print(c)
但它会打印出每行块的所有con。使用drop\u副本:
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()
返回:
Block Con
1 33 3
100 3
2 33 3
100 3
谢谢,但我的实际表格要比这复杂得多,请看我编辑的帖子。请看我的新帖子:谢谢,这很有意义。但我的实际表要比这复杂得多,这就是为什么我想知道如何按某种条件遍历行的原因。请看我编辑的帖子。@Jessica你应该把这个问题作为另一个问题来问,而不是编辑旧的问题来改变它。这样,如果其他人在谷歌上搜索你的问题/答案,他们会发现:)请查看我的新帖子: