2)[0] 将返回 array([3, 4])-6ren">
gpt4 book ai didi

python - 在 Pandas 中,选择 "where"时,删除未满足条件而不是填充NAN的列

转载 作者:太空宇宙 更新时间:2023-11-04 00:47:44 25 4
gpt4 key购买 nike

在 Numpy 中,使用 where 将为您提供原始数组的子集。例如,

import numpy as np
np.where(np.arange(5)>2)[0]

将返回 array([3, 4])。我想对 Pandas 做类似的事情。但是,如果我像这样定义一个类似的 DataFrame:

import pandas as pd
df = pd.DataFrame(data=range(5)).T

结果 df 看起来像

   0  1  2  3  4
0 0 1 2 3 4

并申请

df.where(lambda x: x>2)

我明白了

    0   1   2  3  4
0 NaN NaN NaN 3 4

但是,我想得到这个:

    3  4
0 3 4

省略不满足条件的列。如何做到这一点?

最佳答案

IIUC 您可以调用 dropna 传递 axis=1 以删除包含任何 NaN 值的列:

In [272]:
df[df > 2].dropna(axis=1)

Out[272]:
3 4
0 3 4

关于python - 在 Pandas 中,选择 "where"时,删除未满足条件而不是填充NAN的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38656930/

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