我自己找到了一种从熊猫数据帧中删除nan行的方法。给定一个包含nan值的列为x
的数据帧dat
,是否有更优雅的方法来删除x
列中包含nan值的每一行dat
?
dat = dat[np.logical_not(np.isnan(dat.x))]
dat = dat.reset_index(drop=True)
为了防止前面答案中的命令不起作用,请尝试以下操作:dat.dropna(subset=['x'],inplace=True)
要扩展Hitesh的答案,如果要删除“x”特别是nan的行,可以使用subset参数。他的答案将删除其他列也有“N”的行
dat.dropna(subset=['x'])
使用dropna:
dat.dropna()
您可以传递参数how
来删除,如果所有标签都是nan或任何标签都是nan
dat.dropna(how='any') #to drop if any value in the row has a nan
dat.dropna(how='all') #to drop if all values in the row are nan
希望这能回答你的问题!
编辑1:如果您想从特定列中删除仅包含nan
值的行,正如J.Doe在下面的回答中所建议的,您可以使用以下选项:
dat.dropna(subset=[col_list]) # col_list is a list of column names to consider for nan values.
问题内容: 我自己找到了一种从熊猫数据框中删除nan行的方法。给定一个具有包含nan值的列的数据框,是否有一种更优雅的方法来删除该列中具有nan值的每一行? 问题答案: 使用dropna: 如果所有标签均为nan或任何标签均为nan,则可以将param传递给drop 希望这能回答你的问题! 编辑1: 如果您要删除仅包含特定列中的值的行(如J. Doe在下面的答案中所建议),则可以使用以下命令:
问题内容: 因此,我了解到可以使用DataFrame.groupby而不用使用MultiIndex进行子采样/横截面。 另一方面,当我在DataFrame上具有MultiIndex时,仍然需要使用DataFrame.groupby进行子采样/横截面。 那么,除了在打印时非常有用和漂亮地显示层次结构之外,MultiIndex有什么好处? 问题答案: 在pandas 0.4版本中引入了分级索引(也称为
问题内容: 注意:为简单起见,我使用一个玩具示例,因为复制/粘贴数据帧在堆栈溢出中很困难(请让我知道是否有简便的方法来执行此操作)。 有没有一种方法可以将一个数据帧中的值合并到另一个数据帧中而无需获取_X,_Y列?我希望一列中的值替换另一列中的所有零值。 在上一篇文章中,我尝试了Combine_First和dropna(),但是这些都做不到。 我想用df2中的值替换df1中的零。此外,我希望根据d
问题内容: 背景 我有一个Spring批处理程序,该程序读取一个文件(我正在使用的示例文件的大小约为4 GB),对该文件进行少量处理,然后将其写到Oracle数据库中。 我的程序使用1个线程读取文件,并使用12个工作线程进行处理和数据库推送。 我正在搅动很多年轻一代的记忆,这使我的程序运行得比我想象的要慢。 建立 JDK 1.6.18 春季批处理2.1.x 4核计算机,带16 GB内存 问题 使用
问题内容: 我正在做一些地理编码工作,我曾用它来屏幕刮取位置地址所需的xy坐标,我将xls文件导入了panda数据框,并希望使用显式循环来更新没有xy坐标的行,例如下面: 我已经阅读了为什么在遍历熊猫DataFrame之后该功能不能“使用”?并且完全意识到,iterrow仅提供给我们一个视图,而不是一个供编辑的副本,但是如果我真的要逐行更新值怎么办?是否可行? 问题答案: 您从中获得的行是不再连接
问题内容: 我有一系列的格式,需要更改每个条目的日期。我想到了许多简单的解决方案,但是没有一个对我有用。目前,唯一有效的方法是 将系列设置为索引 从索引中查询月份和年份 使用年,月和1重建新的时间序列 真的不是那么复杂,是吗?有一个月开始,但是不幸的是,这没有用。该方法似乎没有任何功能,而当系列是一列而不是索引本身(的一部分)时,功能甚至更少。 问题答案: 您可以使用和,例如: 给出: