我的数据框中有3列:电子邮件,SaleDate,Variation,LastSaleDate。 我想删除SaleDate!= LastSaleDate的所有行,因此我只能保留一封唯一电子邮件,其中SaleDate与LastSaleDate相等。
我尝试了for,但是遇到了错误:
for rows in df.itertuples():
if df.SaleDate is not df.Last:
df.drop(axis=0)
Need to specify at least one of 'labels', 'index' or 'columns'
答案 0 :(得分:0)
您需要将选择正确行的输出分配给新变量。
unique_email_df = df.loc[df['SaleDate'] == df['LastSaleDate']]
print(unique_email_df.iloc[0])
iloc[0]
打印命令将打印出新DataFrame中的第零个位置-这应该是带有唯一电子邮件的那个位置!要仅打印电子邮件,请使用以下命令:
unique_email_df = df.loc[df['SaleDate'] == df['LastSaleDate']]
print(unique_email_df.emails.iloc[0])
答案 1 :(得分:0)
根据您所说的,我假设您的数据框中可能有重复项?试试这个。
df[df['SaleDate'] == df['LastSaleDate']].drop_duplicates()