![](/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.