Python—迭代并向空白列添加数据

Python—迭代并向空白列添加数据,python,pandas,Python,Pandas,我试图遍历一个数据帧,对每一行进行分类,并将输出添加到新列中的行末尾 它似乎在为每一行添加相同的分类 dfMach = pd.read_csv("C:/Users/nicholas/Desktop/machineSum.csv", encoding='latin-1') dfNew = dfMach dfNew["Classification"] = "" for index, row in dfMach.iterrows(): aVar = dfMach['Summary'].iat

我试图遍历一个数据帧,对每一行进行分类,并将输出添加到新列中的行末尾

它似乎在为每一行添加相同的分类

dfMach = pd.read_csv("C:/Users/nicholas/Desktop/machineSum.csv", encoding='latin-1')
dfNew = dfMach
dfNew["Classification"] = ""

for index, row in dfMach.iterrows():
    aVar = dfMach['Summary'].iat[0]
    aClass = cl.classify(aVar)
    dfNew['Classification'] = aClass
我哪里做错了

谢谢

使用而不是显式循环,即

 dfMach['Classification'] = dfMach['Summary'].apply(cl.classify)
需要在代码中纠正的几个简单错误和一些改进,例如

dfNew = dfMach.copy() # dfNew = dfMach This will not let you create a new copy so you have to use dfMach.copy()

dfNew["Classification"] = ""

for index, row in dfMach.iterrows(): 
    # As @jez suggested we need to use loc for assignemnt 
    dfNew.loc[index, 'Classification'] = cl.classify(row['Summary'])
使用而不是显式循环,即

 dfMach['Classification'] = dfMach['Summary'].apply(cl.classify)
需要在代码中纠正的几个简单错误和一些改进,例如

dfNew = dfMach.copy() # dfNew = dfMach This will not let you create a new copy so you have to use dfMach.copy()

dfNew["Classification"] = ""

for index, row in dfMach.iterrows(): 
    # As @jez suggested we need to use loc for assignemnt 
    dfNew.loc[index, 'Classification'] = cl.classify(row['Summary'])


谢谢,我会试一试的!:)我现在明白你的意思了。谢谢大家!@球探:有一些事情你需要注意,所以请查看更新的答案:)巴拉斯,谢谢你花时间清理我的代码,谢谢你在这方面的帮助。你和耶斯雷尔都很棒,这就是为什么我如此喜欢这个网站上的社区的原因,没有任何比较!谢谢,我会试一试的!:)我现在明白你的意思了。谢谢大家!@球探:有一些事情你需要注意,所以请查看更新的答案:)巴拉斯,谢谢你花时间清理我的代码,谢谢你在这方面的帮助。你和耶斯雷尔都很棒,这就是为什么我如此喜欢这个网站上的社区的原因,没有任何比较!但是等一下。您正在尝试使用summary的第一个值返回的分类值填充新分类中的所有数据?这有什么用吗?但这不会发生在你的循环中,你的意思可能是
行['Summary']
而不是
dfMach['Summary']
。如果你可以直接访问
行['Summary']
,那么你最好选择应用程序为什么要使用索引呢?哦,好的!这样我就可以删除.iat部分,只需要第['Summary]行,谢谢!但是等一下。您正在尝试使用summary的第一个值返回的分类值填充新分类中的所有数据?这有什么用吗?但这不会发生在你的循环中,你的意思可能是
行['Summary']
而不是
dfMach['Summary']
。如果你可以直接访问
行['Summary']
,那么你最好选择应用程序为什么要使用索引呢?哦,好的!这样我就可以删除.iat部分,只需要第['Summary]行,谢谢!