Python 如何检查另一个数据帧中是否不存在字符串值?
我有两个数据帧需要关注:df_小时和new_df 我想检查一个数据帧(df_hours)的字符串值是否在整个数据帧(new_df)中不存在 例如。 df_hours有一个“Category”列,其中包含字符串值“a”、“B”、“C”等。 我想检查new_df中是否不存在“A” 我有2个for循环,其中有以下if条件:Python 如何检查另一个数据帧中是否不存在字符串值?,python,dataframe,Python,Dataframe,我有两个数据帧需要关注:df_小时和new_df 我想检查一个数据帧(df_hours)的字符串值是否在整个数据帧(new_df)中不存在 例如。 df_hours有一个“Category”列,其中包含字符串值“a”、“B”、“C”等。 我想检查new_df中是否不存在“A” 我有2个for循环,其中有以下if条件: for i in range(len(df_hours)): for j in range(len(df_hours_copy)): if df_hours.iloc[
for i in range(len(df_hours)):
for j in range(len(df_hours_copy)):
if df_hours.iloc[i,1] == df_hours_copy.iloc[j,1] and (~df_hours.iloc[i,1].isin(new_df)):
如何对if的第二部分(and之后的部分)进行编码
这个想法:
通过
和
之后的代码,我只想检查该值是否不存在于new_df中,然后将df_hours
中的一些值插入到new_df中,我不确定您正试图对这两个循环执行什么操作,但您可以使用掩码来过滤df,例如:
mask = ~df_new[col_new].isin(df_hours[col].values)
df[mask]
其中,col\u new
是df\u new
的某一列,col
是df\u hours
的某一列,如果需要,您可以查看这些列。我不确定您正试图对这两个循环做什么,但您可以使用掩码来过滤您的df,例如:
mask = ~df_new[col_new].isin(df_hours[col].values)
df[mask]
其中,col\u new
是df\u new
的某一列,col
是df\u hours
中的某一列,如果需要,您可以查看这些列。您可以使用any
和列表理解从序列中收集新df中缺少的所有值:
[value for value in df_hours["Category"].unique() if not (new_df==value).any().any()]
调用.any()
一次将按列查找值。第二次调用将检查结果序列中是否存在任何True。您可以使用any
和列表理解来收集新序列中所有缺失的值:
[value for value in df_hours["Category"].unique() if not (new_df==value).any().any()]
调用.any()
一次将按列查找值。第二次调用将检查结果系列中是否存在任何True。我已编辑了该问题。如果您需要更多详细信息,请告诉我。通过如上所述的过滤,您将获得df_new
的子集,其中的值不在df_hours[col]
中。您希望为数据帧的子集指定哪些值?您想为所有条目分配一个新值,还是为每个条目分配一个不同的值?我已经编辑了这个问题。如果您需要更多详细信息,请告诉我。通过如上所述的过滤,您将获得df_new
的子集,其中的值不在df_hours[col]
中。您希望为数据帧的子集指定哪些值?要为所有条目分配新值还是为每个条目分配不同的值?