给定一个表
| | 列_0|列_1|第二栏|
| - ------|- ------|- ------|- ------|
| 无|a_00|a_01|a_02|
| 1个|a_10|楠|a_12|
| 第二章|a_20|a_21|a_22|
如果要返回col_1中不包含nan
的所有行,则可以通过df[df['col_1'].notnull()]
轻松完成,它返回
| | 列_0|列_1|第二栏|
| - ------|- ------|- ------|- ------|
| 无|a_00|a_01|a_02|
| 第二章|a_20|a_21|a_22|
如果我想返回所有列,使其第1行不包含nan,我应该怎么做?下面是我想要的结果:
| | 列_0|第二栏|
| - ------|- ------|- ------|
| 无|a_00|a_02|
| 1个|a_10|a_12|
| 第二章|a_20|a_22|
我可以转置 Dataframe ,删除转置 Dataframe 上的行,然后转置回去,但是如果 Dataframe 很大,效率会很低。
df.loc[df.loc[0].notnull()]
但密码出错了有什么办法吗
2条答案
按热度按时间qyzbxkaa1#
你可以使用panda**DataFrame.dropna()**函数来实现这个功能。
情况1:想要逐列丢弃所有Nan值-
axis = 0表示水平轴或行,axis = 1表示垂直轴或列。
情况2:想要删除多达n个行
情况2:删除列集中的列-
它将丢弃这两列中的nan值
注意:如果您想使此更改永久化,请使用inplace = True(df.dropna(axis=1,inplace = True)或将结果赋给另一个变量(df 2 = df.dropna(axis=1))
iqjalb3h2#
沿着列轴使用
loc
进行布尔索引结果