我有一个看起来像这样的数据框
CompanyName User Issue Equipment Issue No TBD Total
Customer1 0 0 35 0 35
Customer2 0 0 28 0 28
Customer3 2 3 12 0 17
Customer4 5 1 8 0 14
我想从表中删除Customer1和Customer2。我正在尝试使用
df= df[[c for c in df.columns if c not in ['Customer1','Customer2']]]
和
df=df[(~df.isin('Customer2','Customer2'))]
和
df=df[~df['CompanyName'].str.contains('Customer1')]
我没有收到任何错误,但是Customer1和Customer2仍然出现在情节中!
df.columns.tolist
Out[85]: <bound method Index.tolist of Index([u'CompanyName', u'User Issue', u'Equipment Issue', u'No', u'TBD'], dtype='object')>
sortedtotal.columns.tolist()
Out[93]:
['CompanyName',
'User Issue',
'Equipment Issue',
'No',
'TBD']
答案 0 :(得分:2)
尝试重置索引:
df.reset_index()
然后您将获得自动增量索引,但您的客户索引将成为一个列。更多信息: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.reset_index.html
之后,过滤数据的命令应该有效。
编辑: 使用此过滤方法: df = df [~df ['公司名称'] .isin(['customer1','customer2'])]