python: расширить фрейм данных, слегка изменив одно значение строки - PullRequest
0 голосов
/ 21 июня 2020

Данный фрейм данных:

Client Product Price 
 1       A      1
 2       A      2
 1       B      5

Есть ли эффективный способ расширить этот фрейм данных, умножив цену каждой строки на 0,9 и 1,1, сохранив при этом исходные строки? Результат должен выглядеть так.

Client Product Price 
  1       A      1
  1       A      1.1
  1       A      0.9
  2       A      2
  2       A      2.2
  2       A      1.8
  1       B      5
  1       B      5.5
  1       B      4.5

1 Ответ

0 голосов
/ 21 июня 2020

Вы можете дублировать фрейм данных, изменять копии и объединять:

factors = [1.,1.1,0.9]
dfs = [df.copy() for _ in range(3)]
for i, factor in enumerate(factors):
    dfs[i]['Price'] *= factor
new_df = pd.concat(dfs)

Однако это может быть довольно медленным для больших фреймов данных.

...