Python 从Pandas系列中删除NaN值-之前的post答案都不起作用

Python 从Pandas系列中删除NaN值-之前的post答案都不起作用,python,pandas,dataframe,nan,series,Python,Pandas,Dataframe,Nan,Series,我有以下命令,它返回一个熊猫系列作为其输出: def run_ttest(): for key,value in enumerate(data['RegionName']): if value in stateslist: indexing = data['differ'].iloc[key] Townames.append(indexing)

我有以下命令,它返回一个熊猫系列作为其输出:

def run_ttest():
    for key,value in enumerate(data['RegionName']):
                 if value in stateslist:
                    indexing = data['differ'].iloc[key]
                    Townames.append(indexing) 
                 else:
                    indexing = data['differ'].iloc[key]
                    Notowns.append(indexing)
    Unitowns['Unitownvalues'] = Townames      
    Notunitowns['Notunitownvalues'] = Notowns 
    Notunitowns['Notunitownvalues'] = Notunitowns['Notunitownvalues']
    Unitowns['Unitownvalues'] = Unitowns['Unitownvalues']
    return Unitowns['Unitownvalues']
run_ttest() 
输出打印系列
Unitowns['Unitownvalues']

0     -32000.000000
1     -16200.000000
2     -12466.666667
3     -14600.000000
4        633.333333
5     -10600.000000
6      -6466.666667
7        800.000000
8      -3066.666667
9               NaN
10      1566.666667
11     10633.333333
12      6466.666667
13      1333.333333
14    -15233.333333
15    -11833.333333
16     -3200.000000
17     -1566.666667
18     -8333.333333
19      5166.666667
20      5033.333333
21     -6166.666667
22    -16366.666667
23    -22266.666667
24   -112766.666667
25      2566.666667
26      3000.000000
27     -5666.666667
28              NaN
Name: Unitownvalues, dtype: float64
我尝试了以下方法:

     Notunitowns['Notunitownvalues'] = Notunitowns['Notunitownvalues'].s[~s.isnull()]
        Unitowns['Unitownvalues'] = Unitowns['Unitownvalues'].s[~s.isnull()]
     Notunitowns['Notunitownvalues'] = Notunitowns['Notunitownvalues'].dropna()
 Unitowns['Unitownvalues'] = Unitowns['Unitownvalues'].dropna()
但这两次尝试都没有成功

在之前的一篇文章中,有一条建议提到将数据类型转换为'float',但由于该类型已经是'float64',因此添加。astype(float)并不能解决问题


有谁愿意帮我一把吗

单位所有权
是数据帧吗?在这种情况下,我会:

Unitowns.dropna(subset=['Unitownvalues'])
这将得到一个数据帧,其中删除了
Unitownvalues
为na的行。如果您只需要该系列,
Unitowns['Unitownvalues'].dropna()
将起作用,但您不能将其分配回数据帧,因为该列的长度与我假定的其他列的长度不匹配(我猜这是您遇到的错误)

编辑: 以下内容对您不适用吗?如果没有,您的错误是什么

s = run_ttest()
s = s.dropna()
s

这似乎是可行的:Unitown['Unitownvalues']=Unitown['Unitownvalues'].replace(np.NAN,“”)它给我留下了一个空白。这就是你想要的吗?理想情况下,删除该行会是最好的?那么,你尝试过我发布的内容吗?