我试图通过函数修改数据框,然后返回修改后的数据框。不知何故,它没有得到体现。在下面的代码中,我将数据框“ 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/