Skip to main content
 首页 » 编程设计

python之通过python中的函数修改pandas dataframe

2025年05月04日2798°冷暖

我尝试通过函数修改数据框并返回修改后的数据框。不知何故,它没有反射(reflect)出来。在下面的代码中,我将数据框“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 的属性。但你不能反过来。