Python 仅从数据帧返回符合两列条件的行
我有一个数据帧,我只想从中返回列“1”中的值与特定字符串匹配的行,而列“2”中的值是整数 在下面的代码中,我试图生成一组符合条件的索引,然后仅从数据帧中提取这些行Python 仅从数据帧返回符合两列条件的行,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个数据帧,我只想从中返回列“1”中的值与特定字符串匹配的行,而列“2”中的值是整数 在下面的代码中,我试图生成一组符合条件的索引,然后仅从数据帧中提取这些行 Ok_index = df[(df['1']== "string") & (df['2'] % 1 == 0)].index new_df = df.iloc[Ok_index] 我知道问题在于第二个条件语句,但我不知道如何将相同的逻辑从字符串检查应用到整数检查 以下数据帧: 1. 2. “字符串” 1
Ok_index = df[(df['1']== "string") & (df['2'] % 1 == 0)].index
new_df = df.iloc[Ok_index]
我知道问题在于第二个条件语句,但我不知道如何将相同的逻辑从字符串检查应用到整数检查
以下数据帧:
1.
2.
“字符串”
1.5
“字符串”
10
“不是字符串”
10
检查是否为整数
检查是否为整数
实际上你的错误在第二行。您正在从数据帧检索索引,因此需要使用.loc对其进行筛选。基本上:
new_df = df.loc[Ok_index]
但如果你想使用熊猫的全部能量,你实际上可以在一条线上完成这一切:
new_df = df[(df['1']== "string") & (df['2'] % 1 == 0)]
您不需要先获取所需行的索引,然后过滤数据帧。您可以一次完成所有这些操作。实际上,您的错误在第二行。您正在从数据帧检索索引,因此需要使用.loc对其进行筛选。基本上:
new_df = df.loc[Ok_index]
但如果你想使用熊猫的全部能量,你实际上可以在一条线上完成这一切:
new_df = df[(df['1']== "string") & (df['2'] % 1 == 0)]
您不需要先获取所需行的索引,然后过滤数据帧。您可以一次完成所有这些操作。请提供数据帧和预期输出的可复制示例。请尝试此df_filtered=df[df.1=='string'&df.2%1==0]您可以提供数据帧和预期输出的可复制示例。如果将来出现类似问题,请尝试此df_filtered=df[df.1=='string'&df.2%1==0]@jezrael当然~,让我知道,我真的很喜欢投这个票。谢谢。@jezrael会做的人~@jezrael肯定~如果将来有类似的问题,让我知道,我真的很喜欢投这个票。谢谢你,耶斯雷尔会帮你的~