2024-10-01 13:34:32 发布
网友
我在一个数据帧中有数百列,并且希望删除多个列所在的行。这意味着这些列的整行为NaN
我已经尝试过对列进行切片,但是代码要花很长时间才能运行
df = df.drop(df[(df.loc[:,'col1':'col100'].isna()) & (df.loc[:,'col120':'col220'].isna())].index)
谢谢你的帮助
原始问题的一部分是:“…希望删除多个列为NaN的行。这意味着这些列的整行为NaN。”
我可以解释为,当整行都有NAN时,您希望删除该行。如果这是真的,您应该能够通过以下方式实现:
df.dropna(axis = 'rows', how = 'all', inplace = True)
如果不是这样,那么我误解了你的问题
您应该尝试使用dropna()函数,其中subset参数等于您尝试放置的列。下面是一个取自熊猫文档的简短示例
dropna()
subset
df = pd.DataFrame({"name": ['Alfred', 'Batman', 'Catwoman'], "toy": [np.nan, 'Batmobile', 'Bullwhip'], "born": [pd.NaT, pd.Timestamp("1940-04-25"), pd.NaT]}) df name toy born 0 Alfred NaN NaT 1 Batman Batmobile 1940-04-25 2 Catwoman Bullwhip NaT df.dropna(subset=['name', 'born'])
这将为您提供以下信息:
name toy born 1 Batman Batmobile 1940-04-25
原始问题的一部分是:“…希望删除多个列为NaN的行。这意味着这些列的整行为NaN。”
我可以解释为,当整行都有NAN时,您希望删除该行。如果这是真的,您应该能够通过以下方式实现:
如果不是这样,那么我误解了你的问题
您应该尝试使用
dropna()
函数,其中subset
参数等于您尝试放置的列。下面是一个取自熊猫文档的简短示例这将为您提供以下信息:
相关问题 更多 >
编程相关推荐