Я создал DataFrame:
import pandas as pd
import random
data = [[random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1)], [random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1)], [random.uniform(0, 1), random.uniform(0, 1),random.uniform(0, 1),random.uniform(0, 1),random.uniform(0, 1)], [random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1)], [random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1)], [random.uniform(0, 1), random.uniform(0, 1),random.uniform(0, 1),random.uniform(0, 1),random.uniform(0, 1)]]
df= pd.DataFrame(data, columns=["A","B", "C", "D", "E"])
DataFrame выглядит следующим образом:
A B C D E
0 0.736739 0.184075 0.727951 0.173798 0.184594
1 0.047031 0.567518 0.103112 0.094116 0.050785
2 0.955045 0.754968 0.235842 0.710304 0.109404
3 0.426293 0.617942 0.304042 0.043034 0.798327
4 0.415225 0.461497 0.263462 0.621364 0.974682
5 0.936775 0.822425 0.073169 0.634906 0.140092
Теперь я хочу разделить определенные столбцы, например, на 2. ВВ этом случае я хотел бы разделить столбцы B, D и E на два. Для этого я бы хотел использовать список. Так как в моей настоящей проблеме «Индексы» - это имена Equity, а те, которые я хотел бы разделить, сохраняются в списке.
Вот что я пытался:
list = ["B", "D", "E"]
df1 = df[df.columns.intersection(list)] *0.5
print(df1)
И результат выглядитвот так:
B D E
0 0.092038 0.086899 0.092297
1 0.283759 0.047058 0.025392
2 0.377484 0.355152 0.054702
3 0.308971 0.021517 0.399164
4 0.230749 0.310682 0.487341
5 0.411212 0.317453 0.070046
Но я получаю только DataFrame, который содержит только столбцы из списка. Я хотел бы, чтобы мой результат содержал новое вычисленное значение плюс старые значения из столбцов, которых не было в списке.
Результат должен выглядеть следующим образом:
A B C D E
0 0.736739 0.092038 0.727951 0.086899 0.092297
1 0.047031 0.283759 0.103112 0.047058 0.025392
2 0.955045 0.377484 0.235842 0.355152 0.054702
3 0.426293 0.308971 0.304042 0.021517 0.399164
4 0.415225 0.230749 0.263462 0.310682 0.487341
5 0.936775 0.411212 0.073169 0.317453 0.070046
Кто-нибудь знает как я могу решить эту проблему? Ваша помощь очень ценится.
С уважением!