通过循环函数中的每一行来修改数据帧

2024-06-16 10:10:24 发布

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

我试图通过遍历行来修改dataframe through函数并返回修改后的dataframe。在下面的代码中,我将一个dataframe'ding'传递给函数'test',通过遍历每一行并返回修改后的dataframe来创建一个新的列'C'。我希望测试df有3列,但只能看到两列。我们非常感谢您的帮助。在

它可以有其他更简单的方法来完成这个小任务,但是我希望遍历行,并且希望看到在数据帧上所做的修改能够反映在函数之外

s1 = pd.Series([1,3,5,6,8,10,1,1,1,1,1,1])
s2 = pd.Series([4,5,6,8,10,1,7,1,6,5,4,3])

ding=pd.DataFrame({'A':s1,'B':s2})

def test(ding):
   for index,row in ding.iterrows():
       row['C']=row.A+row.B
return ding

test_ding=test(ding)

Tags: 数据方法函数代码testdataframedfrow
1条回答
网友
1楼 · 发布于 2024-06-16 10:10:24

您可以在原始数据帧上使用set_value,而不是rowset_value是{a1}如果要逐单元格设置值:

def test(ding):
    for index, row in ding.iterrows():
        ding.set_value(index, 'C', row.A+row.B)
    return ding
​
test_ding=test(ding)

test_ding
#   A   B   C
#0  1   4   5.0
#1  3   5   8.0
#2  5   6   11.0
# ...

相关问题 更多 >