pandas 数据框字典中数据框的布尔索引
pandas boolean indexing of dataframe in dictionary of data frames
所以,这可能是一个非常简单的问题,但我还没有找到解决方案。我为我的愚蠢道歉。 (我猜我对术语的无知阻碍了我在这里的搜索)
我有一个数据框字典(这里显示 2 个,但它包含更多)。
df_dict={'P1': df0,'P2': df1}
每个数据框可能有也可能没有我需要删除以进行进一步处理的行。我可以像这样轻松地从一个数据框中删除这些行:
df0=df_dict['P1']
df0=df0[df0.well !='1']
但是如果我像这样遍历字典,什么也不会发生。不需要的行仍在数据框中。
for key,df in df_dict.items():
df=df[df.well !='1']
我愚蠢地将 inplace=True
插入 .loc
中,显然这没有用。
旁注,我不能做 df[~df.well.str.contains('1')]
因为这会删除具有正确位置的行,例如 'A01'
再说一次,我可能在做一些很无知的事情,非常感谢您的帮助!
请将 'for loop' 更改为如下所述:
for key,df in df_dict.items():
df_dict[key]=df[df.well !='1']
这应该可以解决问题。
所以,这可能是一个非常简单的问题,但我还没有找到解决方案。我为我的愚蠢道歉。 (我猜我对术语的无知阻碍了我在这里的搜索)
我有一个数据框字典(这里显示 2 个,但它包含更多)。
df_dict={'P1': df0,'P2': df1}
每个数据框可能有也可能没有我需要删除以进行进一步处理的行。我可以像这样轻松地从一个数据框中删除这些行:
df0=df_dict['P1']
df0=df0[df0.well !='1']
但是如果我像这样遍历字典,什么也不会发生。不需要的行仍在数据框中。
for key,df in df_dict.items():
df=df[df.well !='1']
我愚蠢地将 inplace=True
插入 .loc
中,显然这没有用。
旁注,我不能做 df[~df.well.str.contains('1')]
因为这会删除具有正确位置的行,例如 'A01'
再说一次,我可能在做一些很无知的事情,非常感谢您的帮助!
请将 'for loop' 更改为如下所述:
for key,df in df_dict.items():
df_dict[key]=df[df.well !='1']
这应该可以解决问题。