Python支持迭代和向空白列添加数据

2024-10-01 07:19:03 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

我哪里出错了?你知道吗

谢谢


Tags: csv数据read分类userspdclassificationdesktop
1条回答
网友
1楼 · 发布于 2024-10-01 07:19:03

使用^{}而不是显式循环,即

 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'])

相关问题 更多 >