gpt4 book ai didi

python - Pandas dropna,哪些行被删除

转载 作者:太空宇宙 更新时间:2023-11-04 03:24:11 26 4
gpt4 key购买 nike

这是我拥有的数据框:

                   A         B         C  D   F   E
2013-01-01 0.000000 0.000000 0.100928 5 NaN 1
2013-01-02 0.640525 0.220630 1.070226 5 1 1
2013-01-03 -0.963793 -0.476044 -0.581649 5 2 NaN
2013-01-04 0.882686 -0.371904 -1.320758 5 3 NaN
2013-01-05 0.021979 0.680987 -0.605329 5 4 NaN
2013-01-06 -0.238726 -0.487410 -0.383292 5 5 NaN

然后我运行以下代码:df1.dropna(how='any'),其中 df1 是上面的数据框。当我之后查看 df1 时,这就是我得到的。

                   A         B         C  D   F   E
2013-01-01 0.000000 0.000000 0.100928 5 NaN NaN
2013-01-02 0.640525 0.220630 1.070226 5 1 NaN
2013-01-03 -0.963793 -0.476044 -0.581649 5 2 NaN
2013-01-04 0.882686 -0.371904 -1.320758 5 3 NaN

我认为 dropna 会删除任何包含 NaN 值的行。因此,我期待它返回这个:

                   A         B         C  D   F   E
2013-01-02 0.640525 0.220630 1.070226 5 1 1

为什么不是这样?

编辑:这是代码

这是我的开头:

dates = pd.date_range('20130101',periods=6)
df = pd.DataFrame(np.random.randn(6,4),index=dates,columns = list('ABCD'))

然后我这样做:

s1 = pd.Series([1,2,3,4,5,6],index=pd.date_range('20130102',periods=6))
df['F'] = s1
df.at[dates[0],'A'] = 0
df.iat[0,1] = 0
df.loc[:,'D'] = np.array([5]*len(df))
df1 = df.reindex(index=dates[0:4], columns = list(df.columns) + ['E'])
df1.loc[dates[0]:dates[1],'E'] = 1

然后我运行 dropna

最佳答案

dropna 返回一个新的 DataFrame。因此,要获得您正在寻找的结果,您必须添加

df2 = df1.dropna(how='any');

现在 df2 保存了所需的输出。如果你想要 df1 有 thr 结果,使用:

df1.dropna(how='any', inplace=True)

它就地修改了 df1。希望这对您有所帮助!

关于python - Pandas dropna,哪些行被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33610868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com