簡體   English   中英

按指定間隔過濾pandas數據框中的行

[英]filter rows in pandas dataframe with specified interval

我有一個形狀為(104238,88)的數據框表。 我只想提取值為1或0的行(不是布爾值)

Dataframe_input

Index C1  C2  C3  C4.... C88
R1    200 0   20  40     1068
R2    0   0    0   0     1
R3    1   1    1   1     0

設置子集后,我希望提取R2,R3。 即整行中的所有元素為0或1

我試過了,

import pandas as pd
df = pd.read_csv('Dataframe.txt', sep='\t', index_col='Index')
df2 = df[[df.columns].all(axis=1) <2]

我得到錯誤,

AttributeError:“列表”對象沒有屬性“全部”

這是什么錯誤? 請幫忙。

提前致謝,

美聯社

print(df)

    C1  C2  C3  C4  C88
0   200 0   20  40  1068
1   0   0   0   0   1
2   1   1   1   1   0

使用以下代碼僅選擇具有0和1的行

df2 = df.loc[df.apply(lambda x: x.isin([1,0])).all(axis=1)]

print(df2)

    C1  C2  C3  C4  C88
1   0   0   0   0   1
2   1   1   1   1   0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM