Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据列中唯一值的数量从字典中删除数据帧?_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 如何根据列中唯一值的数量从字典中删除数据帧?

Python 如何根据列中唯一值的数量从字典中删除数据帧?,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个名为f的12个df字典,每个df都有相同的列:backgas\u Flow\u sccm、ContextID、StepID、经过的时间、iso\u forest、alarm 我试图做的是计算BacksGas\u Flow\u sccm列中唯一值的数量,如果数字id唯一值小于10,我想从字典中删除该df 我试过这样做: v = list(f.values()) for i in range (0, len(v)): if (v[i]['BacksGas_Flow_sccm'].n

我有一个名为
f
的12个
df
字典,每个
df
都有相同的列:
backgas\u Flow\u sccm、ContextID、StepID、经过的时间、iso\u forest、alarm

我试图做的是计算
BacksGas\u Flow\u sccm
列中唯一值的数量,如果数字id唯一值小于10,我想从字典中删除该
df

我试过这样做:

v = list(f.values())

for i in range (0, len(v)):
    if (v[i]['BacksGas_Flow_sccm'].nunique()) < 10:
        del (v[i])
我想删除字典中除第三、第八和第九个之外的所有
df

我知道分享
dfs
的屏幕截图不是一件好事,但因为有多个
dfs
,所以很难在这里发布示例
df
。但这就是我的
dfs
字典的样子


塞利乌斯·斯廷格关于错误原因的说法是正确的


我认为在删除循环中的一项之后,索引会重置并 这就是为什么您可能会出现错误[…]

这应该行得通

dictNew = dict()
for key,value in f.items():
    if (value['BacksGas_Flow_sccm'].nunique()>=10):
        dictNew[key] = value
f = dictNew

我认为在删除循环中的一个项目后,索引会重置,这就是为什么可能会出现错误,为什么不分两步执行,首先检索应该删除的DFs的索引,然后从列表中删除这些索引。只需创建一本包含理解力的新词典,只保留你想要的元素。向上投票-我的精确点感谢你完成了答案!:D
df    unique values
1          2
2          5
3         373
4          2
5          4
6          3
7          4
8         560
9         141
10         4
11         5
12         4
dictNew = dict()
for key,value in f.items():
    if (value['BacksGas_Flow_sccm'].nunique()>=10):
        dictNew[key] = value
f = dictNew