python - 如何从 pandas DataFrame 中删除列?

标签 python pandas

这是我的 pandas 数据框:

file,class,type,cbo,wmc,dit,rfc,lcom,totalMethods,staticMethods,publicMethods,privateMethods,protectedMethods,defaultMethods,abstractMethods,finalMethods,synchronizedMethods,totalFields,staticFields,publicFields,privateFields,protectedFields,defaultFields,finalFields,synchronizedFields,nosi,loc,returnQty,loopQty,comparisonsQty,tryCatchQty,parenthesizedExpsQty,stringLiteralsQty,numbersQty,assignmentsQty,mathOperationsQty,variablesQty,maxNestedBlocks,anonymousClassesQty,subClassesQty,lambdasQty,uniqueWordsQty
C:\BlokusDuo-master\app\src\main\java\blokusgame\mi\android\hazi\blokus\GameLogic\Block.java,blokusgame.mi.android.hazi.blokus.GameLogic.Block,class,2,40,1,16,14,17,0,17,0,0,0,0,0,0,4,0,0,4,0,0,0,0,0,159,18,9,0,0,5,4,45,50,8,8,28,2,0,0,0,61
C:\BlokusDuo-master\app\src\main\java\blokusgame\mi\android\hazi\blokus\GameLogic\BlockFactory.java,blokusgame.mi.android.hazi.blokus.GameLogic.BlockFactory,class,3,22,1,23,231,22,22,1,21,0,0,0,0,0,0,0,0,0,0,0,0,0,21,224,22,0,0,0,0,0,199,43,0,0,43,0,0,0,0,33

我需要删除列文件和类型。 我使用了这段代码。

Import pandas as pd 
import csv 
df=pd.read_csv('class.csv', sep=',')
df=drop(['file','type'])

它返回给我这个

        class   cbo wmc dit rfc lcom    totalMethods    staticMethods   publicMethods   privateMethods  protectedMethods    defaultMethods  abstractMethods finalMethods    synchronizedMethods totalFields staticFields    publicFields    privateFields   protectedFields defaultFields   finalFields synchronizedFields  nosi    loc returnQty   loopQty comparisonsQty  tryCatchQty parenthesizedExpsQty    stringLiteralsQty   numbersQty  assignmentsQty  mathOperationsQty   variablesQty    maxNestedBlocks anonymousClassesQty subClassesQty   lambdasQty  uniqueWordsQty
C:\BlokusDuo-master\app\src\main\java\blokusgame\mi\android\hazi\blokus\GameLogic\Block.java    class   40  1   16  14  17  0   17  0   0   0   0   0   0   4   0   0   4   0   0   0   0   0   159 18  9   0   0   5   4   45  50  8   8   28  2   0   0   0   61
C:\BlokusDuo-master\app\src\main\java\blokusgame\mi\android\hazi\blokus\GameLogic\BlockFactory.java class   22  1   23  231 22  22  1   21  0   0   0   0   0   0   0   0   0   0   0   0   0   21  224 22  0   0   0   0   0   199 43  0   0   43  0   0   0   0   33

它仅从头部删除文件和类型,但它们的值仍然存在。我还使用了 del df['column_name']!

请帮忙!

最佳答案

您可以使用usecols跳过该列

Import pandas as pd 
import csv

df = pd.read_csv(
      "class.csv", 
      usecols = lambda column : column not in ["class","type"],
      index=False, sep=","
    )

source1

source2

关于python - 如何从 pandas DataFrame 中删除列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56726424/

相关文章:

python - 如果参数大小大于 8192,为什么 numpy.sin 会返回不同的结果?

python - python-memcache 是否使用一致性哈希?

python - 将大数据帧拆分为多个较小的数据帧

python - 如何在具有图例和次要 y 轴的同一图上绘制两个 Pandas 时间序列?

python - 如果所有行在其列中只有一个值,则折叠 Pandas 数据框中的行

python - 那么有 4 个引号的故事是什么?

python - 将轴线添加到 matplotlib 图中

python - 将 math.erf 应用于数组

python - 通过对 pandas 进行采样,用不同的元素填充数据框中的空值

python - sklearn : Have an estimator that filters samples