Python 如何迭代CSV文件并基于另一列的值更新一列中的值

Python 如何迭代CSV文件并基于另一列的值更新一列中的值,python,csv,Python,Csv,我有一个csv文件,其中一列标题为“pages”,该文件的所有行都为空。我想根据该行的“size”值在每行中填写此空值。例如,如果大小小于100,则我希望将空值替换为1,如果“大小”值大于100,则我希望将空值替换为2。我正在用python做这件事。我试过一些方法,比如: data = pd.read_csv("example.csv") data["pages"] = "" data.to_csv("example.csv", index=False) for r

我有一个csv文件,其中一列标题为“pages”,该文件的所有行都为空。我想根据该行的“size”值在每行中填写此空值。例如,如果大小小于100,则我希望将空值替换为1,如果“大小”值大于100,则我希望将空值替换为2。我正在用python做这件事。我试过一些方法,比如:

data = pd.read_csv("example.csv")         
data["pages"] = ""      
data.to_csv("example.csv", index=False)
for row in data.iterrows(): 
    if row['size']>100:
        data["pages"]= "1" 
但它不起作用。我上传了一张数据的图片。 谢谢你的帮助

您可以使用方法来执行此操作。请尝试此操作

data["pages"] = data["size"].apply(lambda x: "2" if x>100 else "1")
还是像这样

data["pages"] = (data["size"]>100).map({True: '2', False: '1'})
您可以使用方法来执行此操作。请尝试此方法

data["pages"] = data["size"].apply(lambda x: "2" if x>100 else "1")
还是像这样

data["pages"] = (data["size"]>100).map({True: '2', False: '1'})