从 Pandas 系列中删除 NaN 值 - 之前的帖子答案都没有用

我有以下命令返回Pandas 系列作为其输出:


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)并不能解决问题。


有人愿意帮助我吗?


呼如林
浏览 141回答 1
1回答

慕少森

Unitowns是数据框?在那种情况下,我会这样做:Unitowns.dropna(subset=['Unitownvalues'])这将为您提供一个数据框,其中的行被丢弃在Unitownvaluesna 的位置。如果您只想要系列,Unitowns['Unitownvalues'].dropna()将会工作,但您不能将其直接分配回数据框,因为该列与我假设您拥有的其他列的长度不匹配(我猜这是您遇到的错误) .编辑:以下内容对您不起作用吗?如果不是,你的错误是什么?s = run_ttest()s = s.dropna()s
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python