熊猫丢弃多列的行

Jak*_*ner 4 python pandas

我请求您帮助使用 Pandas 使用两个过滤器从 csv 中删除一行。

import pandas as pd

moving = pd.read_csv('C:/Users/Salesdata.csv')
df = pd.DataFrame(moving)

df = df[df['Last Name, First Name'] != 'Reid, Mark and Connie' & df['Actual Sale Date'] == 3/8/2015]

df.to_csv('improvedcsv.csv', index=False)
Run Code Online (Sandbox Code Playgroud)

我的数据:

Last Name, First Name                      Actual Sale Date
Bugs, Rabbit and Bunny                         12/11/2015
Reid, Mark and Connie                           3/8/2015
Cortese, Robert and Laura                       10/15/2014
Reid, Mark and Connie                           2/28/2015
Run Code Online (Sandbox Code Playgroud)

我需要删除 2015 年 3 月 8 日的 Reid、Mark 和 Connie。当我运行上面的 drop 列片段时,新的 csv 不返回任何数据,仅返回列标题。如何解决这个问题,请帮助Pythoners。

Ted*_*rou 5

您需要加上引号3/8/2015并稍微更改逻辑以过滤掉所有不等于您正在过滤的条件的内容。每个条件还需要括号。

df[~((df['Last Name, First Name'] == 'Reid, Mark and Connie') & 
    (df['Actual Sale Date'] == '3/8/2015'))]
Run Code Online (Sandbox Code Playgroud)