gpt4 book ai didi

python - 将每三行数据帧乘以不同的值

转载 作者:行者123 更新时间:2023-11-28 21:46:21 26 4
gpt4 key购买 nike

我有一个包含 9 行的数据框。我想将前三行乘以一个值,将后三行乘以第二个值,将第三组 3 行乘以另一个值。

我正在使用这些变量:

import pandas as pd

df = pd.DataFrame([[i] * 5 for i in range(9)], columns=list('ABCDE'))

a = pd.Series(range(3))

print df

A B C D E
0 0 0 0 0 0
1 1 1 1 1 1
2 2 2 2 2 2
3 3 3 3 3 3
4 4 4 4 4 4
5 5 5 5 5 5
6 6 6 6 6 6
7 7 7 7 7 7
8 8 8 8 8 8

我能够让它像这样工作:

for i, e in a.iteritems():
start, end = i * len(a), (i + 1) * len(a)
df.iloc[start:end] *= e

print df

A B C D E
0 0 0 0 0 0
1 0 0 0 0 0
2 0 0 0 0 0
3 3 3 3 3 3
4 4 4 4 4 4
5 5 5 5 5 5
6 12 12 12 12 12
7 14 14 14 14 14
8 16 16 16 16 16

最佳答案

你可以使用 numpy 整形

df.loc[:, :] = (df.values.reshape(3, df.size / 3) * np.arange(3)[:, None]).reshape(df.shape)

时机

enter image description here

关于python - 将每三行数据帧乘以不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38114174/

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