当前位置: 首页 > 面试题库 >

在dropna中为python中的pandas中的DataFrame脱粒

申屠喜
2023-03-14
问题内容

df1 = pd.DataFrame(np.arange(15).reshape(5,3))
df1.iloc[:4,1] = np.nan
df1.iloc[:2,2] = np.nan
df1.dropna(thresh=1 ,axis=1)

似乎没有nan值已被删除。

    0     1     2
0   0   NaN   NaN
1   3   NaN   NaN
2   6   NaN   8.0
3   9   NaN  11.0
4  12  13.0  14.0

如果我跑

df1.dropna(thresh=2,axis=1)

为什么给出以下内容?

    0     2
0   0   NaN
1   3   NaN
2   6   8.0
3   9  11.0
4  12  14.0

我只是不明白在这里脱粒。如果一列具有多个nan值,是否应删除该列?


问题答案:

thresh=N要求色谱柱至少要有N非NaN才能存活。在第一个示例中,两个列都至少有一个非NaN,因此它们都可以存活。在第二个示例中,只有最后一列具有至少两个非NaN,因此它可以保留,但上一列将被删除。

尝试将其设置thresh为4,以更好地了解正在发生的事情。



 类似资料:
  • 问题内容: 选择/过滤索引为MultiIndex的数据框的行的最常见的熊猫方法是什么? 根据单个值/标签切片 根据一个或多个级别的多个标签进行切片 根据布尔条件和表达式进行过滤 哪种方法在什么情况下适用 为简单起见假设: 输入数据框没有重复的索引键 下面的输入数据框只有两个级别。(此处显示的大多数解决方案一般都适用于N级) 输入示例: 问题1:选择单个项目 如何选择级别为“一个”的行为”a”的行?

  • 本文向大家介绍在Python中的Pandas中向现有DataFrame添加新列,包括了在Python中的Pandas中向现有DataFrame添加新列的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将学习如何在pandas中向现有DataFrame添加新列。我们可以有不同的方法来添加新列。让我们所有人。 使用列表 我们可以使用该列表添加新列。请按照以下步骤添加新列。 算法 让我们看一个例

  • 问题内容: 有了Pandas中不错的索引方法,我就可以用各种方式提取数据了。另一方面,我仍然对如何更改现有DataFrame中的数据感到困惑。 在下面的代码中,我有两个DataFrames,我的目标是从第二个df的值更新第一个df中特定行的值。我该如何实现? 给 但是我怎么能做到这一点: 问题答案: 因此,首先, 大熊猫使用index更新 。当更新命令不更新任何内容时,请同时检查左侧和右侧。如果由

  • 问题内容: 一个pandas DataFrame列包含如下所示。如何将它们转换为秒? 我尝试了以下 但是得到了错误 也尝试过 但收到错误 问题答案: 在当前版本的Pandas(版本0.14)中,这可以正常工作: 这是较旧版本的Pandas / NumPy的解决方法: timedelta64和datetime64数据在内部存储为8字节整数(dtype )。因此,以上将timedelta64s视为8字

  • 问题内容: 在使用Python Pandas进行读写时,是否可以保留csv文件中列的顺序?例如,在此代码中 输出文件可能会有所不同,因为未保留列。 问题答案: 当前版本的Pandas(‘0.11.0’)中似乎存在一个错误,这意味着Matti John的答案将不起作用。如果您指定要写入文件的列,则它们将按字母顺序书写,而只是根据cols中的列表重新标记。例如,此代码: 导致以下(错误)输出: 您可以

  • 问题内容: 在Pandas DataFrame中内插NaN单元非常容易: 我还希望它使用给定的方法推断插值范围之外的NaN值。我怎样才能最好地做到这一点? 问题答案: 可能是推断出来的,但是,pandas中没有简单的方法调用,需要另一个库(例如scipy.optimize)。 外推 通常,外推要求人们对要外推的数据做出某些假设。一种方法是将一些通用的参数化方程曲线拟合到数据,以找到最能描述现有数据