我不明白为什么python无法更新我的dataframe对象: 代码段是这样的:
for index, row in df.iterrows():
t = df.loc[index, :"score"]
b = [float(i) for i in t if i != 's']
m = sum(b)/len(b)
df.at[index, "score"] = m
print(df.at[index, "score"]) # Does not print out m, it prints out 0, the default value
此代码段应该做的事情是连续获取所有值,计算平均值,然后将该平均值添加到数据框中。
答案 0 :(得分:1)
迭代在行的DataFrame
是非常罕的路要走。
而是使用
df.loc[:, :'score'].mean('columns')
这是更好的可读性和快得多。
要直接回答您的问题(为什么您的方式行不通),我们需要更多信息(请参阅评论)。