首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除重复列

删除重复列
EN

Stack Overflow用户
提问于 2018-11-05 05:12:10
回答 2查看 44关注 0票数 0

如果我使用下面的代码,它将保留具有NaNs的列(请参阅附件中的图片)。我还有其他类似的专栏。有没有可能保留第二个而不是第一个?

代码语言:javascript
复制
data_final2 = data_final.loc[:, ~data_final.columns.duplicated()]

EN

回答 2

Stack Overflow用户

发布于 2018-11-05 05:48:22

方法1:删除包含NaN的列

如果您只需要针对此特定情况进行修复,并且您知道所需的列没有NaNs:

代码语言:javascript
复制
data_final2 = data_final.dropna(axis=1)

方法2:用唯一的名称覆盖列标签,然后选择所需的cols

代码语言:javascript
复制
data_final.columns = ['Site_nan', 'Site', 'Dimensions_nan', 'Dimensions']
data_final2 = data_final[['Site', 'Dimensions']].copy()
票数 2
EN

Stack Overflow用户

发布于 2018-11-05 06:42:23

groupby列并选择空值,这将忽略first

代码语言:javascript
复制
df.groupby(df.columns, 1).first()

示例:

代码语言:javascript
复制
import pandas as pd
import numpy as np

df = pd.DataFrame({'0': [1,2,3], '1': [np.NaN]*3, '2': [np.NaN]*3, '3': ['1x1', '2x2', '3x3']})
df.columns= ['Size', 'Size', 'Dims', 'Dims']

#   Size  Size Dims Dims
#0     1   NaN  NaN  1x1
#1     2   NaN  NaN  2x2
#2     3   NaN  NaN  3x3


df.groupby(df.columns, 1).first()

#  Dims Size
#0  1x1    1
#1  2x2    2
#2  3x3    3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53145511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档