从 Pandas 系列中删除 NaN 值 - 之前的 post 答案均无效

Removing NaN values from Pandas series - no prior post answers have worked

我有以下命令,其中 returns a Pandas Series 作为其输出:

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()

但是这些尝试都没有成功

之前的 post 中有一个建议是将数据类型转换为 'float',但由于类型已经是 'float64',添加 .astype(float) not 解决问题。

有没有人愿意帮我一把?

Unitowns 是数据框吗?在那种情况下,我会这样做:

Unitowns.dropna(subset=['Unitownvalues'])

这将为您提供一个数据框,其中 Unitownvalues 是 na。如果你只想要系列,Unitowns['Unitownvalues'].dropna() 会起作用,但你不能将它直接分配回数据框,因为该列与我假设你拥有的其他列的长度不匹配(我猜这是您遇到的错误)。

编辑: 以下内容对您不起作用吗?如果不是,你的错误是什么?

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