gpt4 book ai didi

python - Pandas 使用 apply 函数更新多列

转载 作者:行者123 更新时间:2023-12-02 06:39:45 24 4
gpt4 key购买 nike

我正在使用函数应用更新数据框。

但是现在我需要使用这个函数修改多个列,

这是我的示例代码:

def update_row(row):
listy = [1,2,3]
return listy

dp_data_df[['A', 'P','Y']] = dp_data_df.apply(update_row, axis=1)

它抛出以下错误:

ValueError: shape mismatch: value array of shape (10,) could not be broadcast to indexing result of shape (3,10)

提前致谢。

最佳答案

您可以返回pd.Series:

dp_data_df = pd.DataFrame({'A':[3,5,6,6],
'B':[6,7,8,9],
'P':[5,6,7,0],
'Y':[1,2,3,4]})
print (dp_data_df)
A B P Y
0 3 6 5 1
1 5 7 6 2
2 6 8 7 3
3 6 9 0 4

def update_row(row):
listy = [1,2,3]
return pd.Series(listy)

dp_data_df[['A', 'P','Y']] = dp_data_df.apply(update_row, axis=1)
print (dp_data_df)
A B P Y
0 1 6 2 3
1 1 7 2 3
2 1 8 2 3
3 1 9 2 3

关于python - Pandas 使用 apply 函数更新多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51703549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com