从潘达斯系列中去除NaN值--之前的帖子答案都没有用。

问题描述 投票:0回答:1

我有下面的命令,返回一个 熊猫系列 作为其输出。

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

但这些尝试都没有成功 成功的.

在之前的一个帖子中,曾有人建议将数据类型转换为 飘逸但由于该类型已经是 'float64'增加 .astype(float) 是否 解决这个问题。

有谁愿意帮我一把?

python pandas dataframe nan series
1个回答
1
投票

Unitowns 是一个数据框架吗?在这种情况下,我会这样做。

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

这将使你得到一个数据框,其中的行被丢弃在以下地方 Unitownvalues 是na。如果你只是想系列。Unitowns['Unitownvalues'].dropna() 将会工作,但你不能直接将它分配回数据框架,因为该列将不匹配其他列的长度,我假设你有(我猜这是你遇到的错误)。

编辑:下面的方法是否对你不起作用?如果不行,你的错误是什么?

s = run_ttest()
s = s.dropna()
s
© www.soinside.com 2019 - 2024. All rights reserved.