我试图通过函数修改数据框,然后返回修改后的数据框。不知何故,它没有得到体现。在下面的代码中,我将数据框“ ding”传递给函数“ test”,并创建一个新列“ C”并返回修改后的数据框。我期望test_ding 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):
    ding.C=ding.A+ding.B
    return ding

test_ding=test(ding)

最佳答案

ding.C不存在,无法像属性一样进行访问。
您需要将行更改为

ding['C']=ding.A+ding.B


您可以创建类似ding['A'] = blah的列,然后将其转换为DataFrame的属性。但是你不能反其道而行之。

关于python - 通过python中的函数修改pandas数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43926335/

10-09 17:07