Python 如何筛选具有相同条件的多个列?
我正在尝试操作一个包含8列和263000行的数据帧 以下是我的DF的外观: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
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'