Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.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 将值替换为NAN_Python_Dataframe_Nan - Fatal编程技术网

Python 将值替换为NAN

Python 将值替换为NAN,python,dataframe,nan,Python,Dataframe,Nan,我有一个看起来像这样的数据帧 [index, Data] [1, [5,3,6,8,4,5,7etc]] “数据”列中的数据保留在数组中。我需要在每个数组中至少有75个值。数据帧有438行长。 我需要制作一个过滤器,其中包含小于75个值的所有数组都将替换为NaN 我想到了这样的事情: for i in range(len(df_window)): if len(df_window['Data'][i][0])<75: 范围内i的(len(df_窗口)): 如果len(df_window

我有一个看起来像这样的数据帧

[index, Data]
[1, [5,3,6,8,4,5,7etc]]
“数据”列中的数据保留在数组中。我需要在每个数组中至少有75个值。数据帧有438行长。 我需要制作一个过滤器,其中包含小于75个值的所有数组都将替换为NaN

我想到了这样的事情:

for i in range(len(df_window)):
if len(df_window['Data'][i][0])<75:
范围内i的
(len(df_窗口)):

如果len(df_window['Data'][i][0])您可以使用
length=df_window['Data']。应用(len)
获得数组长度的序列。然后通过使用
df_window.loc[(长度<75),“Data']=np.nan
您应该得到您想要的


编辑:更正了第一行。

为什么需要NaN?你确定没有比这更好的了吗?或者完全从数据中删除这些行?我想得到NaN的原因是因为我想在以后删除这些行。但我有两个不同的数据帧,如果你理解我的意思,这些NaN的行应该被删除。因为在所有这些过滤之后,我想相互比较这两个数据帧,所以这两个数据帧的布局必须相同如果我理解你,你有两个数据帧,每个数据帧有438行,你想逐行比较。在这种情况下,将长度大于75的检查作为比较函数的一部分可能是有意义的,因为您无论如何都需要在比较函数中检查NaN。是的。所以在脚本的最后,我想将这两个数据帧彼此分开。但要做到这一点,我必须使数据帧完全相同。值小于75的数组可能被视为“被操纵”,必须删除。因此,必须在两个帧处删除该行。鉴于此,我需要通过查看两个帧中哪一个的值较少,而另一个帧的值相同,从而使两个帧的每一行的长度相同。您能帮忙吗?因为它是单个单元格中的一个列表,.apply(len)的输出是每行1,所以这不起作用。所以我必须找到另一个解决办法。上面我在for循环中做的事情给出了数组的长度。唯一的问题是,我不知道如何用nan Afterward替换它。哦,是的,的确如此,然后使用length=df_window['Data']。apply(len)。这很有效,谢谢!您是否还知道我必须如何执行以下操作:我需要查看两个数组之间是否存在差异。例如,在df1中,第1行的数组有80个值,而在df2中,同一行有78个值。因此,我需要搜索df数组中值最少的每一行,并使它们都相同。所以我认为(如果我有78和80),我需要通过选取最后78个值来制作一个有80和78的。我每次都得这么做嘿!嗯,是的,你可以这样做,我做了一个便条,它更容易。用列名替换0,一切正常。不过它有点慢,您希望避免数据帧上的for循环,但应该可以。