Python 如何筛选具有相同条件的多个列?

Python 如何筛选具有相同条件的多个列?,python,pandas,dataframe,Python,Pandas,Dataframe,我正在尝试操作一个包含8列和263000行的数据帧 以下是我的DF的外观: ID1 ID2 dN dS t Label_ID1 Label_ID2 Group QJY77946 NP_073551 0.0241 0.1402 0.1479 229E-CoV 229E-CoV Intra QJY77954 NP_073551 0.011

我正在尝试操作一个包含8列和263000行的数据帧

以下是我的DF的外观:

ID1          ID2         dN          dS          t           Label_ID1   Label_ID2   Group
QJY77946     NP_073551   0.0241      0.1402      0.1479      229E-CoV    229E-CoV    Intra
QJY77954     NP_073551   0.0119      0.0912      0.0870      229E-CoV    229E-CoV    Intra
QJY77954     QJY77946    0.0119      0.0439      0.0566      229E-CoV    229E-CoV    Intra
QJY77962     NP_073551   0.0119      0.0912      0.0870      229E-CoV    229E-CoV    Intra
QJY77962     QJY77946    0.0119      0.0439      0.0566      229E-CoV    229E-CoV    Intra

我的目标是过滤所有值将列“dS”的数据类型更改为浮动,如下所示:

df_1_S['dS']=df_1_S['dS'].astype(float)

您收到的错误可能是因为“dS”列的类型为注释中提到的“object”


您的代码应该可以很好地处理此更改。

您可以发布
df_1_S.dtypes
?ID1对象的输出吗;ID2对象;dn64;dS对象;t=64;标记ID1对象;标记ID2对象;群体客体;数据类型:对象;你觉得怎么样?我明白了。错误可能是因为“dS”是一个对象。我已经发布了一个解决方案,请让我知道它是否有效!谢谢你的帮助!
df_1_S = pd.read_csv("S_YN00.csv",sep="\t", names=['ID1',"ID2","dN","dS","t","Label_ID1","Label_ID2","Group"])

S_greather_than = (df_1_S["dN"] < 6)

df_1_S.loc[S_greather_than]
S_greather_than = (df_1_S["dN"] < 6) & (df_1_S["dS"] < 6) & (df_1_S["t"] < 6)

df_1_S.loc[S_greather_than] 

different method: using or ( | ) 

S_greather_than = ((df_1_S["dN"] < 6) | (df_1_S["dS"] < 5) | (df_1_S["t"] < 6))

df_1_S.loc[S_greather_than] 
TypeError: '<' not supported between instances of 'str' and 'int'