gpt4 book ai didi

python - 你如何在 Pandas 的每一行中添加一个数组?

转载 作者:太空宇宙 更新时间:2023-11-04 09:41:16 24 4
gpt4 key购买 nike

如果我有一个数组 [1, 2, 3, 4, 5] 和一个 Pandas Dataframe

df = pd.DataFrame([[1,1,1,1,1], [0,0,0,0,0], [0,0,0,0,0], [0,0,0,0,0]])

0 1 2 3 4
0 1 1 1 1 1
1 0 0 0 0 0
2 0 0 0 0 0
3 0 0 0 0 0

如何遍历 Pandas DataFrame,将我的数组添加到前一行?

预期的结果是:

   0  1   2   3   4
0 1 1 1 1 1
1 2 3 4 5 6
2 3 5 7 9 11
3 4 7 10 13 16

最佳答案

数组被添加 n 次到第 nth 行,您可以使用 np.arange(len(df))[:,None] 创建* a 然后添加第一行:

df
# 0 1 2 3 4
#0 1 1 1 1 1
#1 0 0 0 0 0
#2 0 0 0 0 0
#3 0 0 0 0 0

a = np.array([1, 2, 3, 4, 5])

np.arange(len(df))[:,None] * a
#array([[ 0, 0, 0, 0, 0],
# [ 1, 2, 3, 4, 5],
# [ 2, 4, 6, 8, 10],
# [ 3, 6, 9, 12, 15]])

df[:] = df.iloc[0].values + np.arange(len(df))[:,None] * a

df
# 0 1 2 3 4
#0 1 1 1 1 1
#1 2 3 4 5 6
#2 3 5 7 9 11
#3 4 7 10 13 16

关于python - 你如何在 Pandas 的每一行中添加一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51598859/

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