![](/img/trans.png)
[英]Adding lines from a text file and printing out result using a for loop - Python
[英]Python: Printing out result from conditional for loop
我有一个简单的问题。 我有一个小数据帧:
Column1 Column2 Column3
Row1 0 4 6
Row2 1 3 5
Row3 0 4 2
我只需要在Column1
等于1
时才打印出Column1
和Column2
:
Column1 Column2
Row2 1 3
我有这段代码,我被困在:
col=[col for col in df.columns if col=="Column1" or col=="Column2"]
print(loc[:,col])
这将打印出结果,以便我们将Column1
和Column2
包含所有值。
Column1 Column2
Row1 0 4
Row2 1 3
Row3 0 4
如何将条件列入Column1==1
?
谢谢!
您可以使用条件索引:
>>> df[df['Column1'] == 1]
Column1 Column2 Column3
Row2 1 3 5
然后只需选择所需的列:
>>> df[df['Column1'] == 1][['Column1', 'Column2']]
Column1 Column2
Row2 1 3
您可以使用python的namedtuple来执行此操作。 Namedtuple创建单独的单个类来表示值。 值得记住的是,类只有值而没有方法。
会是这样的:
from collections import namedtuple
Value = namedtuple('Value', ['column', 'line', 'value'])
examples = [Value(column, line, value) for column in range(3)
for line in range(2)
for value in range(2)]
>>> examples
[Value(column=0, line=0, value=0), Value(column=0, line=0, value=1), Value(column=0, line=1, value=0), Value(column=0, line=1, value=1), Value(column=1, line=0, value=0), Value(column=1, line=0, value=1), Value(column=1, line=1, value=0), Value(column=1, line=1, value=1), Value(column=2, line=0, value=0), Value(column=2, line=0, value=1), Value(column=2, line=1, value=0), Value(column=2, line=1, value=1)]
for _ in examples:
if _.column == 1:
print('Line: %s' % _.line, 'Value: %s' % _.value)
Line: 0 Value: 0
Line: 0 Value: 1
Line: 1 Value: 0
Line: 1 Value: 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.