我试图删除具有某些值的行,我使用了drop函数,并且还保留了就地参数为True,但是当我将数据帧写入新文件时,它并没有被删除。
这是我的代码-
import pandas as pd
import numpy as np
assessment = pd.read_csv('/home/user/Documents/MOOC dataset new/students_Vle3_registration_info.csv')
assessment = assessment.values
i=0
n=[]
for assm in assessment[:,13:14]:
if(assm=='Withdrawn'):
n.append(i)
i=i+1
assessment = pd.DataFrame(assessment)
assessment.drop(n,inplace=True )
assessment.to_csv('/home/user/Documents/MOOC dataset new/students_Vle3_registration_info_withdraw_removed.csv')
我的代码有什么问题?
答案 0 :(得分:1)
在没有太多信息的情况下,我宁愿使用向量化方法:
import pandas as pd
assessment = pd.read_csv('/home/user/Documents/MOOC dataset new/students_Vle3_registration_info.csv')
condition = (assessment[col13].str.contains('Withdrawn')) | (assessment[col14].str.contains('Withdrawn'))
#col13 and col14 are the columns in your dataframe you are selecting by
assessment = assessment.drop(assessment[condition].index)