Python 删除重复的列

Python 删除重复的列,python,excel,pandas,filter,Python,Excel,Pandas,Filter,我正在玩一个excel电子表格,它比较不同货币的两个项目的价值。电子表格标题如下: 美元-美元差额|英镑-英镑差额|日元-日元差额…… 当我将其导入pandas并创建一个数据框时,它会创建名为Difference.1、Difference.2、Difference.3、Difference.n的标题 我想删除名为差异的所有标题 请注意,所有差异标题的名称都是唯一的我想您可以参考此链接了解更多信息 下面是我们要做的 使用差异搜索所有列名称 生成包含所有这些名称的列表 删除包含这些名称的列 //获取

我正在玩一个excel电子表格,它比较不同货币的两个项目的价值。电子表格标题如下:

美元-美元差额|英镑-英镑差额|日元-日元差额……

当我将其导入pandas并创建一个数据框时,它会创建名为Difference.1、Difference.2、Difference.3、Difference.n的标题

我想删除名为差异的所有标题


请注意,所有差异标题的名称都是唯一的

我想您可以参考此链接了解更多信息 下面是我们要做的

  • 使用差异搜索所有列名称
  • 生成包含所有这些名称的列表
  • 删除包含这些名称的列
  • //获取一个新的df,该df只包含有差异的名称

    df2 = df.filter(like='DIFFERENCE ', axis=1)
    
    //为所有这些列名生成一个列表

    x = []
    for col in df2.columns:
        x.append(col)
    
    //在x中删除具有这些名称的列

    df.drop(columns=x)
    
    //您可以为这些更新的信息保留新的df

    df3 = df.drop(columns=x)
    

    我相信您所需要的只是删除在it名称中包含“DIFFERENCE”的列。在这种情况下,您可以简单地执行以下操作:

    df=pd.read\u csv(“../path/to/your/file.csv”)
    df=df[df.columns.drop(list(df.filter(regex='DIFFERENCE')))]
    
    例子 如果你有这样的东西:

    df=pd.DataFrame({“a1”:[1,2,3],“a2”:[1,1,1],“b”:[2,4,6]})
    打印(df)
    输出:
    a1 a2 b
    0   1   1  2
    1   2   1  4
    2   3   1  6
    
    下一步是

    df=df[df.columns.drop(list(df.filter(regex='a')))]
    打印(df)
    输出:
    B
    0  2
    1  4
    2  6
    

    您可以阅读更多关于

    的信息,我们需要更多的信息才能继续。你试过什么代码?您正在使用
    标题
    选项吗?传递
    sep='\t'
    可能会起作用:
    pd.read\u csv(文件,sep='\t')